PHP分页的实现
来源:互联网 发布:基督教网络歌曲116首 编辑:程序博客网 时间:2024/05/17 07:51
php分页的代码参考文章:
PHP分页教程原理:http://jingyan.baidu.com/article/6525d4b1299019ac7d2e9482.html
条件运算符的使用:http://tieba.baidu.com/p/2075610560
文件名称为:show_records.php
<!--分页显示代码测试--><?php require_once("sys_conf.inc");$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);mysql_select_db($DBNAME); //连接数据库$sql="select * from guestbook";$query=mysql_query($sql,$link_id);$all_num=mysql_num_rows($query); //总条数$page_num=3; //每页条数$page_all_num = ceil($all_num/$page_num); //总页数$page=empty($_GET['page'])?1:$_GET['page']; //当前页数$page=(int)$page; //安全强制转换$limit_st = ($page-1)*$page_num; //起始数 $sql="select * from guestbook limit $limit_st , $page_num"; $query=mysql_query($sql,$link_id);while($row=mysql_fetch_array($query)){ echo $row['Name']." <a href='view.php?id={$row['rid']}'>浏览</a><hr>";}$px = $page>=$page_all_num ? $page_all_num : $page+1 ; //控制页码,若下一页页码大于等于最大页数,//则改为最大页码,否则加1$ps = $page<=1 ? 1 : $page-1 ; //控制最小页码,若上一页小于等于1则页码设为1,否则减1 ?><a href='show_records.php'>首页 </a> | <a href='show_records.php?page=<?php echo $ps?>'>上一页 </a> | <a href='show_records.php?page=<?php echo $px?>'>下一页 </a> | <a href='show_records.php?page=<?php echo $page_all_num?>'>尾页 </a>
引用的sys_conf.inc代码:
<!--sys_conf.inc:系统配置文件-------------><?php//数据库配置全局变量$DBHOST="localhost";$DBUSER="root";$DBPWD="root";$DBNAME="visitor_book";?>
几点解释:
1.有三处用到了条件运算符:
$page=empty($_GET['page'])?1:$_GET['page']; //当前页数
$px = $page>=$page_all_num ? $page_all_num : $page+1 ; $ps = $page<=1 ? 1 : $page-1 ;
条件运算符的意义是:(百度百科解释)
条件运算符是惟一有3个操作数的运算符,所以有时又称为三元运算符。
对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
一个条件表达式从不会既计算x,又计算y。条件运算符是向右结合的,也就是说,从右向左分组计算。例如,a?b:c?d:e将按a?b:(c?d:e)执行。
简单来说:
a?b:c;
等同于
if (a)
{b}
else
{c}
2.一个SQL语句
$sql="select * from guestbook limit $limit_st , $page_num";SQL的limit语法的如以下形式(参见:sql的limit)
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
当省略offset的时候,offset作为0处理,表示提取查询到的前rows条数据;
当offset>=0时候,表示提取查询到的从offset开始的rows条数据;此时如果rows<0表示提取查询到的从offset开始的所有数据
当offset<0的时候,表示提取查询到的除出后rows条数据的所有数据,即剔除last row-rows到last rows之间的-rows条数据
另外,如果rows大于实际查询的数据条数,则取rows为实际查询的数据条数。
数据库名为visitor_book。
取的是表guestbook中的数据。
显示数据为Name字段,通过惟一的主键rid来作为页面参数。
显示效果如下:“page=”后面的数字为变量$page
点击“浏览”刚跳转到相应的
view.php?id={$row['rid']}
主键rid作为惟一的页面标识,传递参数
0 0
- PHP分页的实现
- PHP中分页的实现
- PHP 分页类的实现
- php数组分页的实现
- PHP分页功能的实现
- PHP查询分页的实现
- php分页效果的实现
- PHP分页的实现之补充
- php实现google样式的分页
- PHP+MySQL实现分页的常用方法
- php 结果集的分页实现代码
- 检索结果的分页显示实现(php)
- 使用PHP+JQuery+Ajax分页的实现
- php&mysql分页的实现
- 使用PHP+JQuery+Ajax分页的实现
- PHP完美分页类的实现
- PHP实现数据库的分页类
- PHP array_slice() 数组分页的实现方法
- Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
- 蓝桥杯 算法设计_7 FJ的字符串
- 涂鸦 opengl简单应用1
- 栈的压入、弹出序列
- 学习笔记——Swing篇(二)
- PHP分页的实现
- memset
- hdu 4788 Hard Disk Drive
- C++ reverse iterators
- pat 1071
- 算法导论-思维导图
- rqnoj 26 合唱队形(双向序列dp)
- 第三周项目二 旱冰场造价
- DoubleSubmit