首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [求助]PHP的分页问题求助!  


  作者:小宗
  注册时间:2006-11-30
  主题/回复:1/0
  积分:405
  等级:★★☆(五级)
  称号:略有小成

  xuyuan0729@sina...
  未提供
  www.

 

 发表:2006-11-30 18:26:00 阅读 2462 次 回复 1 次 得分1  |   字号 字色
[求助]PHP的分页问题求助!
  大家好!小妹新学PHP,自己编写了一段留言簿程序。但是分页那个地方不太好用。“首页”和“末页”的链接都好用,“上一页”和“下一页”的链接不好用呀……

  特此求助!

  下面是我编写的程序,希望各位师哥师姐多多帮助小妹!

<?php
if( isset($_GET['page']) ){
   $page = intval( $_GET['page'] );
}
else{
   $page = 1;
}

$page_size=3;

$sql="select * from 留言表名";
$result=mysql_query($sql,$conn);
$num=mysql_num_rows($result);

if( $num <=$page_size ){ 
$page_count = 1; 


if( $num % $page_size ){ 
    $page_count = (int)($num / $page_size) + 1;   
}
else{
    $page_count = $num / $page_size; 
}

switch ($_GET['move']){
case 1: 
{
$page=1;
}
break;
case 2: 
{
$page=$page-1;
if ($page<1){
$page=1;
}
}
break;
case 3: 
{
$page=$page+1;
if ($page>$page_count){
$page=$page_count;
}
}
break;
case 4: 
{
$page=$page_count;
}
break;
}


$sql="select * from ly order by id desc limit ".($page-1)*$page_size .", $page_size";
$result=mysql_query($sql,$conn);
while($info=mysql_fetch_array($result)){
?>

输出并显示留言的代码……

<?
}
?>

<a href="messageview.php?move=1">首页</a>
<a href="messageview.php?move=2">上一页</a>
<a href="messageview.php?move=3">下一页</a>
<a href="messageview.php?move=4">末页</a>

  “首页”和“末页”的链接都好用,“上一页”和“下一页”的链接不好用呀……

  请大家多多帮忙,小妹在此谢过了!!
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2006-12-01 22:35:09  评分:1 


你这个程序的思路我大体看懂了。

move这个参数纯属多余吧。可以直接不用move这个参数,而是直接传$page这个参数。这样的话就省下了 select case 语句。

可以按照以下思路写:
---------------------------------------------------
$page=trim($_GET["page"]); //接收$page
$page= xxx($page); //验证$page是否是数字
if($page==""){
$page=1;
} //如果没有传$page,说明显示默认第一页
$page_size=3;  //每页显示多少条数据
$start=($page-1)*$page_size;  //确定要查询的数据的开始位置

//然后查询数据库
$sql="select * from ..... limit $start,$page_size ";
......
//循环输出

<a href="messageview.php?page=1">首页</a>
<a href="messageview.php?page=<?php echo $page-1;?>>">上一页</a>
<a href="messageview.php?page=<?php echo $page+1;?>>">下一页</a>
<a href="messageview.php?page=<?php echo $page_count;?>>">末页</a>

程序结束。。。 
---------------------------------------------------
以上是一个思路,没有给出详细代码,应该可以看明白的。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.006sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版