首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中对MYSQL中的无限数据进行分页

问在php中对MYSQL中的无限数据进行分页
EN

Stack Overflow用户
提问于 2014-03-26 16:59:13
回答 3查看 537关注 0票数 0

如何从我的sql中分页无限的数据,如果我想使用限制,我必须知道行数,但我不知道行数。

下面是从数据库中获取数据的代码:

代码语言:javascript
复制
<?php 
$accid = $_SESSION['accid'];


set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] . "bulk2/" );
include("/config.php");

$con = mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
mysql_query("SET CHARACTER SET utf8");


$res=mysql_query("SELECT * FROM `sent_msgs_history` WHERE `accid` = $accid" ***LIMIT 0,5*** );
if(mysql_num_rows($res)> 0)
{
    for($i=0;$i<mysql_num_rows($res);$i++) {
        $row=mysql_fetch_assoc($res);
        //$de_name = decrypt($key,$iv,$row['rec_name']);
        //$de_mobile = decrypt($key,$iv,$row['mobile_number']);

        $de_name = $row['senderName'];
        $de_length = $row['MessageLength'];
        $de_count = $row['MessageCount'];
        $de_date = $row['sent_on'];
        $de_sender = $row['sent_by'];
        ?>


  <tr>

  <td> <?php echo $de_name ;?>    </td>
  <td> <?php echo $de_length;?>    </td>
  <td> <?php echo $de_count;?>    </td>
  <td> <?php echo $de_sender;?>    </td>
  <td> <?php echo $de_date;?>    </td>
  </tr>






  <?php }?>


  </table> 
  <br> 

 <br><br> <br>


<?php
 }?> 

我不知道行数,我该怎么做?请帮帮我>>>

EN

回答 3

Stack Overflow用户

发布于 2014-03-26 17:08:12

相似/相同的问题- MySQL skip first 10 results

或者获取偏移量后的所有结果- MySQL skip first 10 results

限制只需要是从items_per_page到items_per_page * last_index的任何内容

所以就像这样:

代码语言:javascript
复制
SELECT * FROM sent_msgs_history LIMIT items_per_page, items_per_page * lastindex

因此,当每页获取40个项目时:

第1页将为LIMIT 40

第2页应该是LIMIT 40, 40

第3页应该是LIMIT 40, 80

票数 1
EN

Stack Overflow用户

发布于 2014-03-26 17:02:25

无限制分页是什么意思?

如果您想知道行数,可以使用SELECT COUNT(*) FROM sent_msgs_history

或

当用户选择“无限制分页”时,不要使用limit

票数 0
EN

Stack Overflow用户

发布于 2014-03-28 17:04:03

新的

使用具有所需限制范围的循环,然后在查询的末尾使用此语句。as (简单分页)

代码语言:javascript
复制
$limit='';
$i=0; 
$q=mysql_query(...)
while($i<=mysql_num_rows($q))
{
$b=$i+5;
$limit='limit '.$i.', '.$b;
mysql_query(...$limit)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22655859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档