如何使用php构建下一个和上一个链接?

时间:2011-07-27 11:39:34

标签: php mysql hyperlink

我使用此代码获取有关某个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 ......

我怎样才能实现这个目标?

//修改

我有一个非常大的问题:上一个链接将我发送到正确的链接,但下一个链接总是将我发送到数据库中添加的最后一个视频。

如果我转到数据库中添加的最后一个或第一个视频,我会收到错误,因为不再添加下一个和上一个视频。

3 个答案:

答案 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)

您必须使用selectlimit来获取您想要的那一行,即

SELECT * FROM `videos` WHERE `id` < " . $local_id . " ORDER BY `id` DESC LIMIT 1

或者对>视频使用ORDER BYASC 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从数据库中获取所有记录。