php表格分页后第二页或第三页不是所查询内容,第一页显示的总页码和第二页不一样,第二页往后就是查询全部拉。页面如下:
在表单选择线路或状态后点击查询,只有第一页是要查的内容,点击下一页后不是按所选择的条件显示,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>无标题文档</title>
</head><body>
</body><?php 
ini_set('date.timezone','Asia/Shanghai');
$db=mysql_connect("127.0.0.1","root","12345678");           //创建数据库连接 
mysql_select_db("busap",$db);                 //选择要操作的数据库 
mysql_query("SET NAMES GB2312"); //防止乱码//if($_REQUEST['submit']!=""){
$sqlgz = "SELECT * FROM `guzhang` where linename like '%{$_REQUEST['xianlu']}%'and zhuangtai like '%{$_REQUEST['leixing']}%'"; 
//if($_REQUEST['xianlu']) {$sqlgz=$sqlgz." and linename like '%{$_REQUEST['xianlu']}%' ";} 
//if($_REQUEST['leixing']) {$sqlgz=$sqlgz." and zhuangtai like '%{$_REQUEST['leixing']}%'";} $result=mysql_query($sqlgz); 
$total=mysql_num_rows($result); //查询所有的数据 $url='502.php';//获取本页URL $page=isset($_GET['page'])?intval($_GET['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。 
$num=10;  //每页显示10条数据//页码计算 
$pagenum=ceil($total/$num);                                    //获得总页数,也是最后一页 
$page=min($pagenum,$page);//获得首页 
$prepg=$page-1;//上一页 
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页 
$offset=($page-1)*$num;  
//获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。 
?>
<?php//开始分页导航条代码: 
$pagenav="显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录,共 $total 条记录 "; 
//如果只有一页则跳出函数: 
if($pagenum<=1) return false; $pagenav.=" <a href='$url?page=1'>首页</a> "; 
if($prepg) $pagenav.=" <a href='$url?page=$prepg'>前页</a> "; else $pagenav.=" 前页 "; 
if($nextpg) $pagenav.=" <a href='$url?page=$nextpg'>后页</a> "; else $pagenav.=" 后页 "; 
$pagenav.=" <a href='$url?page=$pagenum'>尾页</a> "; //下拉跳转列表,循环列出所有页码: 
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url?page=\"+this.value'>\n"; 
for($i=1;$i<=$pagenum;$i++){ 
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n"; 
else $pagenav.="<option value='$i'>$i</option>\n"; 

$pagenav.="</select> 页,共 $pagenum 页"; //假如传入的页数参数大于总页数,则显示错误信息 
If($page>$pagenum){ 
       Echo "Error : Can Not Found The page ".$page; 
       Exit; 

//}
?><form id="form1" name="form1" method="post" action="502.php">
  <label>
<div align="center">
  <select name="leixing">
    <option value="0">未维修</option>
<option value="1">已维修</option>
  </select>
  &nbsp;
  <label>
    <select name="xianlu" id="select">
      <option value="0225">225</option>
      <option value="0213">213</option>
      <option value="0203">203</option>
    </select>
  </label>
  &nbsp;
<input type="submit" name="submit" value="查询" />
  </div>
  </label>
</form>

<table width="72%" border="1" align="center">
  <tr>
    <td width="6%" height="22" nowrap="NOWRAP"><div align="center">线路</div></td>
    <td width="8%" nowrap="NOWRAP"><p align="center">时间</p>    </td>
    <td width="6%" nowrap="NOWRAP"><div align="center">车辆自编号</div></td>
    <td width="7%" nowrap="NOWRAP"><div align="center">车牌号</div></td>
    <td width="10%" nowrap="NOWRAP"><div align="center">故障定位</div></td>
    <td width="9%" nowrap="NOWRAP"><div align="center">故障现象</div></td>
    <td width="9%" nowrap="NOWRAP"><div align="center">处理建议</div></td>
    <td width="6%" nowrap="NOWRAP"><div align="center">报修人</div></td>
    <td width="7%" nowrap="NOWRAP"><div align="center">维修状态</div></td>
    <td width="9%" nowrap="NOWRAP"><div align="center">维修人</div></td>
    <td width="10%" nowrap="NOWRAP"><div align="center">维修日期</div></td>
    <td width="13%" nowrap="NOWRAP"><div align="center">维修过程</div></td>
    <td width="13%" nowrap="NOWRAP"><div align="center">操作</div></td>
  </tr>
  <?php 
//if($_REQUEST['submit']!=""){
  
$info = mysql_query($sqlgz."limit $offset,$num")or die ("fail");   //获取相应页数所需要显示的数据 
$it = mysql_fetch_array($info);
 do { 
?>
<?php
    if($it[zhuangtai]=="0"){
$leixing="未维修";
}elseif($it[zhuangtai]=="1"){
$leixing="已维修";
}else{
$leixing="";
}
?>
  <tr>
    <td height="47" nowrap="NOWRAP"><div align="center"><?php echo $it[linename]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo (date('Y-m-d',$it[time])); ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[busname]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[chepaihao]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[dingwei]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[xianxiang]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[jianyi]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[baoxiuren]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $leixing; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[weixiuren]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo (date('Y-m-d',$it[weixiutime])); ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><?php echo $it[guocheng]; ?></div></td>
    <td nowrap="NOWRAP"><div align="center"><form id="form2" name="form2" method="post" action="">   
  <input name="button" type="button" onclick=" window.location='guzhang_weixiu.php?wxry=<?php echo $it[id]; ?>&weixiu=1&id=<?php echo $it[id]; ?>'" value="维修" />
  &nbsp;&nbsp;
  <input name="del" type="button" onclick=" window.location='guzhang_del.php?id=<?php echo $it[id]; ?>'" value="删除" />     
    </form> </div></td>
  </tr>
  <?php
}while($it=mysql_fetch_array($info)) 
;//}
?> 
  <tr>
    <td height="47" colspan="13" nowrap="NOWRAP"><div align="center"><?php echo $pagenav;//输出分页导航?></div> </td>
  </tr>
</table>
</html>

解决方案 »

  1.   

    你需要在翻页时,把查询条件也带过去,如果不带过去就变成全部了。
    $xianlu = $_REQUEST['xianlu'];
    $leixing = $_REQUEST['leixing'];$pagenav.=" <a href='$url?page=1&xianlu=$xianlu&leixing=$leixing'>首页</a> "; 
    if($prepg) $pagenav.=" <a href='$url?page=$prepg'&xianlu=$xianlu&leixing=$leixing>前页</a> "; else $pagenav.=" 前页 "; 
    if($nextpg) $pagenav.=" <a href='$url?page=$nextpg&xianlu=$xianlu&leixing=$leixing'>后页</a> "; else $pagenav.=" 后页 "; 
    $pagenav.=" <a href='$url?page=$pagenum&xianlu=$xianlu&leixing=$leixing'>尾页</a> "; 
      

  2.   


    你这是连最基本的基础都犯了,你没有传递条件过去当然就是全部的
    以后遇到问题,首先要自己去输入SQL语句或者变量,看看这些SQL语句跟变量还是不是你想要的值