我使用此代码获取有关某个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 ......
我怎样才能实现这个目标?
//修改
我有一个非常大的问题:上一个链接将我发送到正确的链接,但下一个链接总是将我发送到数据库中添加的最后一个视频。
如果我转到数据库中添加的最后一个或第一个视频,我会收到错误,因为不再添加下一个和上一个视频。
答案 0 :(得分:4)
也许还有两个查询可以运作......
select id,title from videos where id < $local_id order by id desc limit 1
select id,title from videos where id > $local_id order by id asc limit 1
答案 1 :(得分:2)
您必须使用select
和limit
来获取您想要的那一行,即
SELECT * FROM `videos` WHERE `id` < " . $local_id . " ORDER BY `id` DESC LIMIT 1
或者对>
视频使用ORDER BY
和ASC
id next
,而不是上面显示的previous
。
答案 2 :(得分:0)
在这里,您将完成
// entry per page
$rowsPerPage = 3;
// Set page number
if(isset($_GET['page']))
$pageNum = $_GET['page'];
else
$pageNum = 1;
注意:以下代码用于显示/设置下一个&amp;上一页编号。
注意:如果当前页面是主页,则默认$ pageNum为1和 如果$ pageNum设置为2,它将作为
if($pageNum){
$PreviousPageNumber = $pageNum - 1;
$NextPageNumber = $pageNum + 1;
echo '<a href="?page='. $PreviousPageNumber .'>Previous Page</a>';
echo '<a href="?page='. $NextPageNumber .'>Next Page</a>";
}
注意:以下代码用于显示受页码影响的记录
$GetPreviousRecord = ($pageNum - 1) * $rowsPerPage;
注意:LIMIT的第一个可选值是起始位置。注意: 第二个必需值是要检索的行数。
$query = "SELECT * FROM post WHERE LIMIT $GetPreviousRecord, $rowsPerPage";
$result = mysql_query($query);
最后使用WHILE循环通过LIMIT从数据库中获取所有记录。