最简单的方法是包含一个整数 $_GET 变量,即行号 + 1。
<a href="index.php?id=<?php echo ($id + 1) ?>" />
那么对于您的 PHP 脚本,您需要获取该值,如果未提供,则使用默认值 (0)。
<?php
if(!isset($_GET['id']))
$id = 0;
else
$id = $_GET['id'];
?>
不要忘记绑定你的整数,这样你就不会得到无效的结果。在您的情况下,请确保$id 不低于0 或高于9。像这样简单的东西
if($id < 0) $id = 0;
if($id > 9) $id = 9;
应该可以。这紧跟在前面的代码示例之后。
那么对于您的查询,只需执行
$sql = "select * from mytable where city = 'atlanta' LIMIT {$id}, 1";
注意这里的LIMIT 子句有两个参数。首先,您当前的$id 号码告诉查询从哪里开始查找结果集中。第二个参数告诉它从一开始它应该采取多少个结果。在这种情况下,我们总是想要一个,所以我们将其保留为 1。
当然,您应该对这个查询进行参数化,但是因为听起来您只是在学习 SQL,所以这没什么大不了的。如果这是一个公共站点,您将需要这样做。
您还可以使用 mysql_num_rows 或等效的 PDO 来获取适用行的总数,然后确定 $id + 1 是否大于总行数(意味着您在最后一条记录上),如果是, 不显示下一条记录的链接。
完整代码
<?php
if(!isset($_GET['id']))
$id = 0;
else
$id = $_GET['id'];
if($id < 0) $id = 0;
if($id > 9) $id = 9;
$sql = "select * from mytable where city = 'atlanta' LIMIT {$id}, 1";
$result = mysql_fetch_assoc($sql);
?>
Display your result here
<?php if( ( $id + 1 ) < mysql_num_rows($result) ) :
<a href="index.php?id=<?php echo ($id + 1) ?>" />
<?php endif; ?>