php中文本数据翻页(留言本翻页)

  作者:bea

在mysq中介绍翻页的文章不少,而文本数据表格式的翻页介绍的很少,这里我就简单的说一下翻页主要介绍以下翻页思想1、留言本的翻页2、文本论坛的翻页————————————————————————留言本的翻页:——————————————————————————————这个在文本数据表中的翻页是最简单的翻页,这样说明一下golbal fileData.dat---NOTE FILE USEuser.dat---Forum File useData.dat ____________
在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(" ",$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"]等


有用  |  无用

猜你喜欢