/* - author:默默
- date :2006-12-03
- */
- $page=isset($_get['page'])?intval($_get['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
- $num=10; //每页显示10条数据
- $db=mysql_connect("host","name","pass"); //创建数据库连接
- $select=mysql_select_db("db",$db); //选择要操作的数据库
- /*
- 首先,要获取数据库中到底有多少数据,才能判断具体要分多少页,总页数 具体的公式就是
- 总数据数 除以 每页显示的条数,有余进一 。
- 也就是说10/3=3.3333=4 有余数就要进一。
- */
- $total=mysql_num_rows(mysql_query("select * from table")); //查询数据的总数total
- $pagenum=ceil($total/$num); //获得总页数 pagenum
- //假如传入的页数参数apge 大于总页数 pagenum,则显示错误信息
- if($page>$pagenum || $page == 0){
- echo "error : can not found the page .";
- exit;
- }
- $offset=($page-1)*$num; //获取limit的第一个参数的值 offset ,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
- //(传入的页数-1) * 每页的数据 得到limit第一个参数的值
- $info=mysql_query("select * from table limit $offset,$num "); //获取相应页数所需要显示的数据
- while($it=mysql_fetch_array($info)){
- echo $it['name']."
"; - } //显示数据
for($i=1;$i<=$pagenum;$i++){ $show=($i!=$page)?"$i":"$i"; - echo $show." ";
- }
- /*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下
- 1 2 3 4 5 6
- */
- ?>
总结:
原型:
select * from table limit 0,10
程序:
- select * from user order by id desc limit 0,10;
|