【发布时间】:2011-10-14 04:41:13
【问题描述】:
我使用此代码获取有关某个 id 的信息
$sql = dbquery("SELECT * FROM `videos` WHERE `id` = ".$local_id." ");
while($row = mysql_fetch_array($sql)){
$video_id = $row["id"];
$video_title = $row["title"];
}
假设页面的链接是 example.com/video.php?id=34
如何根据当前 id 获取下一个和上一个 $video_id 和 $video_title?
一个问题是我不能将当前id的值增加或减少1,因为35或33可能同时被删除......
我怎样才能做到这一点?
//编辑
我有一个非常大的问题:上一个链接将我发送到正确的链接,但下一个链接总是将我发送到数据库中添加的最后一个视频。
如果我转到数据库中添加的最后一个或第一个视频,我会收到错误消息,因为没有添加更多的下一个和上一个视频。
【问题讨论】:
-
如果你不能做id-1或id+1,那我们怎么知道上一个/下一个视频呢?有日期顺序之类的吗?如果是,您(可以)尝试选择日期此视频中的日期,然后设置 LIMIT 1。只是一个想法。
-
假设您应该使用“SELECT id FROM Videos WHERE id > ".intval($id)." ORDER BY id ASC LIMIT 1 获取下一个 id,并且使用“SELECT id FROM Videos WHERE id”获取上一个 id
-
我在这个版本中遇到了同样的问题