首頁 > 後端開發 > PHP問題 > php如何實作上一頁下一頁

php如何實作上一頁下一頁

藏色散人
發布: 2023-03-14 08:50:02
原創
3467 人瀏覽過

php實作上一頁下一頁的方法:1、建立一個PHP範例檔;2、透過“function GetPreNext($gtype,$table,$catid,$id){...}”方法顯示上一篇下一篇即可。

php如何實作上一頁下一頁

本文操作環境:windows7系統、PHP7.4版、DELL G3電腦

php如何實作上一頁下一頁?

PHP簡單實作上一頁下一頁功能範例

#本文實例講述了PHP簡單實作上一頁下一頁功能。

具體如下:

思路整理:

現在好多人用id的增1和減1實現上一篇和下一篇,但是難道文章ID不會斷了嗎?所以你要知道上個ID和個ID是多少就OK了。

那要怎麼解決這個問題呢,很簡單!

範例:

假如這篇文章的ID200

<a href="?action=up&id=200">上一篇</a>
<a href="?action=down&id=200">下一篇</a>
登入後複製

如果是實作上一篇就在action=up頁面寫函數

$id= $_GET[&#39;id&#39;];
//上一篇:
$sql= select * from article where id < &#39;.$id.&#39; order by id desc limit 0,1&#39;;
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);
//下一篇:
$sql= select * from article where id < &#39;.$id.&#39; order by id asc limit 0,1&#39;;
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);
登入後複製

原理,查詢比當前ID小(where id < '.$id.'上一篇)和比當前ID大(where id > '.$id.'下一篇)的1條(limit 0,1)數據,並依降序(desc,上一篇)和升序(asc,下一篇)顯示出來,只取一篇的時候,可以省略降序或升序。

具體實作程式碼:註需要傳遞參數

前台在上一篇,下一篇處呼叫:

<?php
 echo GetPreNext(pre,news,$_REQUEST[catid],$_REQUEST[id]);?>
//显示上一篇下一篇
 function GetPreNext($gtype,$table,$catid,$id){
 $preR=mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id<$id order by id desc limit 0,1"));//id比传入id小的最近一条
 $nextR=mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id>$id order by id asc limit 0,1"));//id比传入id大的最近一条
  $next = (is_array($nextR) ? " where id={$nextR[&#39;id&#39;]} " : &#39; where 1>2 &#39;);
  $pre = (is_array($preR) ? " where id={$preR[&#39;id&#39;]} " : &#39; where 1>2 &#39;);
   $query = "Select * from ".$table." ";
      $nextRow =mysql_query($query.$next);
      $preRow = mysql_query($query.$pre);
      if($PreNext=mysql_fetch_array($preRow))
      {
       echo $PreNext[&#39;pre&#39;] = "上一篇:<a href=&#39;newsshow.php?id=".$preR[&#39;id&#39;]."&&catid=".$catid."&#39;>".$PreNext[&#39;title&#39;]."</a> ";
      }
      else
      {
       echo $PreNext[&#39;pre&#39;] = "上一篇:没有了 ";
      }
      if($PreNext=mysql_fetch_array($nextRow))
      {
       echo $PreNext[&#39;next&#39;] = "下一篇:<a href=&#39;newsshow.php?id=".$nextR[&#39;id&#39;]."&&catid=".$catid."&#39;>".$PreNext[&#39;title&#39;]."</a> ";
      }
      else
      {
        echo $PreNext[&#39;next&#39;] = "下一篇:没有了 ";
      }
}
登入後複製

程式碼經測試可用

#推薦學習:《PHP影片教學

以上是php如何實作上一頁下一頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板