2013年8月26日 星期一

2013 / 08 / 26 PHP分頁程式


周老師先前已教過分頁程式,也很完整,可惜是我資料收集不完整。
老師用的介面很漂亮,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值,使得按下一頁會換頁。
再來,做一些分頁基本的參數設定
         <?
//分頁
//計算總筆數
$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";
?> 
看不懂list可以看這邊 → PHP list() 函数

再來,將要顯示的地方放上周老師提供的程式碼
     
<?
        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


沒有留言:

張貼留言