当前位置: 首页 > 图文教程 > 网络编程 > PHP > php中文本数据翻页(留言本翻页)

PHP
php 服务器调试 Zend Debugger 的安装教程
从Web查询数据库之PHP与MySQL篇
php 应用程序安全防范技术研究
php 不同编码下的字符串长度区分
php 生成饼图 三维饼图
PHP 字符截取 解决中文的截取问题,不用mb系列
PHP5 操作MySQL数据库基础代码
php面向对象全攻略 (一) 面向对象基础知识
php面向对象全攻略 (二) 实例化对象 使用对象成员
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (四)构造方法与析构方法
php面向对象全攻略 (五) 封装性
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php面向对象全攻略 (七) 继承性
php面向对象全攻略 (八)重载新的方法
php面向对象全攻略 (九)访问类型
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十二) 抽象方法和抽象类
php面向对象全攻略 (十四) php5接口技术

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 279 ::
收藏到网摘: n/a

在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"]等