限制MYSQL数据的数量

时间:2016-02-13 11:33:09

标签: php html mysql ajax

我正在使用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"];  
?>  

2 个答案:

答案 0 :(得分:2)

您正在寻找的机制被称为skip and take。

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

此SQL将返回20行:

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

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

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

Documentation and examples of LIMIT can be found here

要使您的网站能够正常工作,只需传递一个参数,告诉您所在的页面以及每页的行数。然后,您可以计算select语句所需的两个数字。

答案 1 :(得分:1)

$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'];
}