【问题标题】:Limit No. Of MYSQL DataMYSQL 数据限制数量
【发布时间】:2016-02-13 11:33:08
【问题描述】:

我正在使用 MySQL 在我的网站上显示数据:http://www.onlinedealsindia.in。你可以在那里看到交易(交易框),但我想限制它们。我希望每页只显示 50 个交易(交易框)。点击更多按钮将显示接下来的 50 笔交易。

以下是我从 MySQL 获取数据的代码:

<?php           
$host="localhost";      
$username="username";       
$password="pass";       
$dbname="DB NAme";      
$conn=new mysqli($host, $username, $password, $dbname); 
if($conn->connect_error)        
{               
die("error".$conn->connect_error);      
}           
else { echo "";}    

$sql= "SELECT * FROM table ORDER BY p_id DESC";

$results=$conn->query($sql);    
if($results->num_rows > 0)
{ while($row=$results->fetch_assoc())   
{   $pid=$row["p_id"];  
?>  

【问题讨论】:

  • 只需在 PHP 中为 Pagination 做一个谷歌搜索,你就会得到数百个示例。这是最好的示例之一 phpeasystep.com/phptu/29.html

标签: php html mysql ajax


【解决方案1】:

您正在寻找的机制称为跳过和采取。

在 mySQL 中,您可以使用 LIMIT 来完成此操作。使用一个参数,它会返回那么多行。使用两个参数,它将跳过行中的第一个数字并返回第二个数字的行数。


此 SQL 将返回 20 行:

$sql= "SELECT * FROM table LIMIT 10 ORDER BY p_id DESC";

此 SQL 将返回跳过前 10 行的 10 行

$sql= "SELECT * FROM table LIMIT 20,10 ORDER BY p_id DESC";

Documentation and examples of LIMIT can be found here

要使此功能适用于您的网站,只需传递一个参数,该参数告诉您当前所在的页面以及每页有多少行。然后,您可以计算您的 select 语句所需的两个数字。

【讨论】:

    【解决方案2】:
    $mysqli = new mysqli($host, $username, $password, $dbname);
    if($mysqli->connect_error)        
    {               
    die("error".$mysqli->connect_error);      
    }           
    else { 
    echo "";
    }   
    $datas = $mysqli->prepare('SELECT id FROM table LIMIT 50 ');
    if($datas)
    {
       $datas->execute();
       $datas->bind_result($id);
       while($datas->fetch)
       {
         $store['id']= $id;
         $results[] = $store;
    
       }
    return $results;
    
    }
    foreach($results as $result)
    {
      echo $result['id'];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多