程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中文本數據翻頁(留言本翻頁)

php中文本數據翻頁(留言本翻頁)

編輯:關於PHP編程

在mysq中介紹翻頁的文章不少,而文本數據表格式的翻頁介紹的很少,這裡我就簡單的說一下翻頁

主要介紹以下翻頁思想
1、留言本的翻頁
2、文本論壇的翻頁

————————————————————————
留言本的翻頁:
——————————————————————————————
這個在文本數據表中的翻頁是最簡單的翻頁,這樣說明一下

golbal file
    Data.dat    ---    NOTE FILE USE
    user.dat    ---     Forum File use
Data.dat
_______________________________________________________________________
[1]    [POSTUSER]     [TITLE]        [MEM]        [POSTTIME]    [IP]
[2]    [POSTUSER]     [TITLE]        [MEM]        [POSTTIME]    [IP]
[3]    [POSTUSER]     [TITLE]        [MEM]        [POSTTIME]    [IP]
[4]    [POSTUSER]     [TITLE]        [MEM]        [POSTTIME]    [IP]
[5]    [POSTUSER]     [TITLE]        [MEM]        [POSTTIME]    [IP]

說明:
     其中的[1,2,3,4,5....]是我自己添加進去的,主要是為了大家更好的理解

index.php source:.

__________________________________________________

---====BOF====---
<?
$file            =        "data.dat";        //數據文件
if(file_exits($file)){                        //容錯處理,防止無數據文件存在
    $fp=fopen($file,"w+");
    fclose($fp);
    unset($fp);
}
$listnumber        =        20;            //每頁顯示條數
$fp            =        file($file);        //讀取數據到內容中
$number            =        count($fp);        //計算總數據量
$pagenumber        =        floor($number/$listnumber)+1;
if($number<1){
    print "暫時無記錄,歡迎留言";
    /*+--------------------------------+
          |在這裡打印FORM表單或連接到表但的|
          | URL,               |
          +--------------------------------+*/
}else{
    if(empty($_POST["page"])){                //這段IF...ELSE...是為了兼容php4.20的默認設置,防止出現無效的全局變量而寫的
        $page        =    0;            //因為是從數據文本讀出來的,保存在數組中,有個O下標
    }else{
        $page        =    $_POST["page"]
    }

    if($page<0 || $page>pagenumber){            //檢錯處理,當頁面參數跳出總頁面或小於首頁(0)的時候,將返回到第一頁
        $page=0;
    }

    $startnote    =    $page*$listnumber;        //開始記錄位置
    $endnote    =    $startnote+$listnumber;        //結束記錄位置

    //for($int_a=$startnote;$int_a<$endnote;$int_a++){    //排序顯示類似ASC模式

    pirnt "<table>"

    for($int_a=$endnote;$int_a>=$startnote;$int_a--){    //排序顯示類似DESC模式
        $info=explode("\t",$fp[$int-a]);        //切割數據獲得每條記錄的詳細數據我這裡是用了一個TAB鍵分割
        print "<tr><td>用戶:$info[1] 標題$info[2] 發言內容:$info[3] 發布時間:$info[4] IP:$info[5]";
    }

    $prevpage    =    $page-1;            //上一頁的PAGE數
    $nextpage    =    $page+1;            //下一頁的page數

    print "<tr><td>
    <a href=\"$_SERVER["PHP_SELF"]?page=0\">首頁</a>
    <a href=\"$_SERVER["PHP_SELF"]?page=$prevpage\">上一頁</a>
    <a href=\"$_SERVER["PHP_SELF"]?page=$nextpage\">下一頁</a>
    <a href=\"$_SERVER["PHP_SELF"]?page=$pagenumber\">尾頁</a>
    </table>";                        //這裡您可以直接將頁面的檢測加到這裡,那樣給別人看的是舒服的,但是效果是一樣的
                                //例如:這裡有可能出現20頁出現        <a href="index.php?page=21">下一頁</a>    或<a href="index.php?page=-1">
}
?>
---====EOF====---


寫的倉促,另外中間有不少因為考慮到使用PHP4.20所以就改變了一下,比如說PHP_SELF已經采用_SERVER["PHP_SELF"]等

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved