Php 访问MySQL数据库中的下一条和上一条记录

Php 访问MySQL数据库中的下一条和上一条记录,php,mysql,database,Php,Mysql,Database,假设我有3条ID为2,4,7,9的相同用户记录,我希望能够通过下一个/上一个链接导航到另一个。问题是,我不知道如何在链接重定向到同一页的情况下获取每页1条记录 因此,当我有ID为4的记录时,如果我单击“上一步”,它必须将我重定向到ID为2的记录所在的页面,如果我单击“下一步”,它应该将我重定向到7。请帮助重定向并显示每页一条记录 到目前为止,我已经做了: <?php $query1 = "SELECT * FROM table2 WHERE id='{$user}' order b

假设我有3条ID为2,4,7,9的相同用户记录,我希望能够通过下一个/上一个链接导航到另一个。问题是,我不知道如何在链接重定向到同一页的情况下获取每页1条记录

因此,当我有ID为4的记录时,如果我单击“上一步”,它必须将我重定向到ID为2的记录所在的页面,如果我单击“下一步”,它应该将我重定向到7。请帮助重定向并显示每页一条记录

到目前为止,我已经做了:

<?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);
  ?>

如果每页显示一条记录,只需使用分页即可。你可以从

中得到一个分页示例,我会对
prev/next
链接使用类似的内容

html

<a href="?action=prev&id=<?php echo $values['id'] ?>">prev</a>
<a href="?action=next&id=<?php echo $values['id'] ?>">next</a>

我不明白什么是
srno
,以及您是如何在
$user
变量中获得
用户id
的,所以我把它们忽略了。代码应该是功能性的,一旦理解了它,就可以用它重写自己的代码

您可以通过在sql查询中添加“limit”来使用它$query1=“从表2中选择*,其中id='{$user}'按srno desc LIMIT 1,2排序”;谢谢@kuro srno是我进行排序的主键。
<?php
    if(!is_numeric($_GET['id'] || $_GET['id'] < 1)
         throw new \Exception('Illegal id value');
    if(!isset($_GET['action']))
         $_GET['action'] = 'view';
    switch($_GET['action']){

        case 'prev':
            $q = "SELECT * FROM table2 WHERE id<'{$_GET['id']}' ORDER BY id DESC LIMIT 1" ;
            break;

        case 'next':
            $q = "SELECT * FROM table2 WHERE id>'{$_GET['id']}' ORDER BY id ASC LIMIT 1" ;
            break;

        case 'view':
            $q = "SELECT * FROM table2 WHERE id='{$_GET['id']}'";
            break;

        default:
            throw new \Exception('Illegal action value');

    }



   $result1=mysql_query($query1,$con);
   if (!($result1) )
   {
      die('Error: ' . mysql_error($con));
   }
   else
   {
      $values1= mysql_fetch_array($result1);
   }
   mysql_close($con);