周老師先前已教過分頁程式,也很完整,可惜是我資料收集不完整。
老師用的介面很漂亮,code我怎樣溫習也都無感,只好上網找了資料。
結果找到還不錯的資料,就實質上與周老師的結合!
《參考部分》
參考的分頁程式 PHP分頁程式 @ 工作區 :: 隨意窩 Xuite日誌
周老師提供的code,疑似丟失一半,只留自我練習有使用到的部分。
這部分,很漂亮,也是個很好的設定!
<?《實作部分》 - 整體架構
echo "<p><center><font color=blue>共 <font color=red>".$totalpage." <font color=blue>頁,現在第 <font color=red>".$page." <font color=blue>頁 <br>";
if ($page != 1) echo " <a href='" . $PHP_SELF . "?page=1'>第一頁</a> ";
else echo "<font color=#cccccc>第一頁</font> ";
if ($page > 1) echo " <a href='" . $PHP_SELF . "?page=" . ($page-1) . "'>上一頁</a> ";
else echo "<font color=#cccccc>上一頁</font> ";
if ($page < $totalpage) echo " <a href='". $PHP_SELF . "?page=" . ($page+1) ."'>下一頁</a> ";
else echo "<font color=#cccccc>下一頁</font> ";
if ($page != $totalpage) echo " <a href='" . $PHP_SELF . "?page=$totalpage'>最後頁</a> ";
else echo "<font color=#cccccc>第末頁</font> ";
echo "</center>";
最上方以get接收page值,使得按下一頁會換頁。
再來,做一些分頁基本的參數設定
<?看不懂list可以看這邊 → PHP list() 函数
//分頁
//計算總筆數
$pagesql="select count(*) from member";
$list =mysql_query($pagesql);
list($count) = mysql_fetch_row($list);
//echo "page = ".$page;
//抓取頁數與設定分頁
$read_num="10"; //每頁讀取幾筆資料出來
$total_page=ceil($count/$read_num);//計算總頁數
if( empty($page)or($page<0) )$page="1";//如果目前頁數是空的,則顯示為第一頁 & 分頁page的下限
if($page>$total_page) $page=$total_page;//分頁page的上限
$start_num=$read_num*($page-1);//起始筆 數 = 一頁顯示比數 X (頁數-1) EX.第一頁從0
$pageselt[$page]="selected";
?>
再來,將要顯示的地方放上周老師提供的程式碼
<?
echo "<p><center><font color=blue>共 <font color=red>".$totalpage." <font color=blue>頁,現在第 <font color=red>".$page." <font color=blue>頁 <br>";
if ($page != 1) echo " <a href='" . $PHP_SELF . "?page=1'>第一頁</a> ";
else echo "<font color=#cccccc>第一頁</font> ";
if ($page > 1) echo " <a href='" . $PHP_SELF . "?page=" . ($page-1) . "'>上一頁</a> ";
else echo "<font color=#cccccc>上一頁</font> ";
if ($page < $totalpage) echo " <a href='". $PHP_SELF . "?page=" . ($page+1) ."'>下一頁</a> ";
else echo "<font color=#cccccc>下一頁</font> ";
if ($page != $totalpage) echo " <a href='" . $PHP_SELF . "?page=$totalpage'>最後頁</a> ";
else echo "<font color=#cccccc>第末頁</font> ";
echo "</center>";
?>
最後利用MySQL的LiMiT功能達到篩選
$sql.=" limit ".$start_num." , ".($read_num);SQL篩選部分有很多資料可以參考,包含不是MySQL的!
select 第 51 ~ 100 筆資料 / SQL Language / 程式設計俱樂部
分享完畢: " P
沒有留言:
張貼留言