在数据库中按降序访问记录

时间:2013-11-06 03:42:00

标签: php mysql

检索企业:

  <?php 
   $query1 = "SELECT * FROM table2 WHERE id='{$user}' order by srno desc " ;
   $result1=mysql_query($query1,$con);
   if (!($result1) )
   {
      die('Error: ' . mysql_error($con));
   }
   else
   {
      $values1= mysql_fetch_array($result1);
   }
    mysql_close($con);
  ?>

对于降序显示我这样做:

while($values1)
{
  echo $row['srno'];
  echo " " . $row['Symptoms'];
  echo "<br>";
}

这使得所有记录按降序显示在同一页面上。如何让它们显示在不同的页面上。有一种方法可以使用索引访问数组值1的值,这样我就可以在不同的页面上操作不同的记录。

2 个答案:

答案 0 :(得分:1)

如果您想在不同的页面上显示不同的结果,您始终可以使用限制和偏移量在查询中过滤它们:

 // In PAGE 1
$query1 = "SELECT * FROM table2 WHERE id='{$user}' order by srno desc LIMIT 10" ; 


 // In PAGE 2
$query2 = "SELECT * FROM table2 WHERE id='{$user}' order by srno desc LIMIT 10 OFFSET 10" ; 

注意:这称为服务器端分页。

编辑:很明显,您不应该多次编写该查询,自动化分页过程,并根据获取的参数使其在php脚本中为查询添加偏移限制。 然后,您将调用php脚本并向其传递一个参数,例如

         myPHPScript.php?page=2

顺便说一句,在您的代码中,您只显示第一个结果。 你应该这样做:

          while ($row = mysql_fetch_array($result1, MYSQL_NUM)) {

          }

答案 1 :(得分:0)

您不能跨页面使用这样的结果集。您必须选择要在页面上使用的单个结果,然后将下一个/上一个页面与链接中的下一个/上一个结果的ID相关联,然后在下一页上选择该结果

要从当前结果中获取下一个和上一个ID have a look at this post.

您可能希望在输出链接之前检查下一个/上一个结果是否存在。