开发者

How to build next and previous links with php?

I use this code to get the informations about a certain id

$sql = dbquery("SELECT * FROM `videos` WHERE `id` = ".$loca开发者_StackOverflowl_id." ");

while($row = mysql_fetch_array($sql)){
    $video_id = $row["id"];
    $video_title = $row["title"];
}

Let's say the link of a page would be example.com/video.php?id=34

How can i get the next and previous $video_id and $video_title depending on the current id?

A problem is that i can't increase or decrease the value of the current id by 1 because the 35 or 33 may be deleted in the meanwhile...

How can i achieve this?

//edit

I have a very big problem: the previous link sends me to the right link but the next link always sends me to the last video added in the database.

If i go to the last or first videos added in the database i get an error because there are no more next and previous videos added.


Perhaps two more queries would work ...

 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


You have to use select and limit to get that one row you want, i.e.,

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

Or use > and ORDER BYidASC for the next video, instead of the previous I showed above.


Here you go through

// entry per page
$rowsPerPage = 3;

// Set page number
if(isset($_GET['page']))
    $pageNum = $_GET['page'];
else
    $pageNum = 1;

Note: Following code is use to show/set next & previous page number.

Note: If the current page is homepage then default $pageNum is 1 and if $pageNum is set as 2, it will work as

if($pageNum){

    $PreviousPageNumber = $pageNum - 1;
    $NextPageNumber = $pageNum + 1;

    echo '<a href="?page='. $PreviousPageNumber .'>Previous Page</a>';
    echo '<a href="?page='. $NextPageNumber .'>Next Page</a>";
}

Note: Following code is use to show record affected by page numbers

$GetPreviousRecord = ($pageNum - 1) * $rowsPerPage;

Note: The first, optional value of LIMIT is the start position. Note: And the second required value is the number of rows to retrieve.

$query = "SELECT * FROM post WHERE LIMIT $GetPreviousRecord, $rowsPerPage";
$result = mysql_query($query);

And in last use the WHILE loop to get all records from database by using LIMIT.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜