求修改:查询结果分页时点击下一页为何会显示全部内容

PQianbei 2015-08-13 11:28:59
求大神修改一下源代码,让在查询提交给自身后,点击下一页还是当前查询条件结果的下一页,而不是显示全部!!!
本页面名字 ldt


<?php
$_SESSION['hcrdtbj']=$_GET['hcrdtbj'];
$hcrdtbj=$_SESSION['hcrdtbj'];


?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>


<script type="text/javascript" src="js/hcselect.js"></script>
<script>
function submitit1()
//交由程序1处理
{
document.myForm.action = "其他.php"
document.myForm.submit();
}
function submitit2()
//交由程序2处理
{
document.myForm.action = "ldt.php"
document.myForm.submit();

}
</script>


<meta charset="utf-8">


</head>

<BODY>
<div id="main">
<div id="top">
<div id="headerborder">
<div id="hl"></div>
<div id="hm">
</div>
<div id="hr">
<!--
<span style="text-align:right;">
<input type="button" onmouseover="this.className='on1' " onmouseout="this.className='out1'" style="width:80px; height:40px; font-size:12px; font-family:'Microsoft YaHei UI'; border:1px solid #CDCDCD;" value="返回导航" />
</span>
-->
</div>

</div>


<!--移动设备-->
<div id="header">
<div id="header1">
<div id="inheader11">领用详情</div>
<div id="inheader1" onclick="location.href='rdt.php'" style="cursor:pointer;"><a style="color:#999;">库存详情</a></div> </div>

<form name="myForm" method="post">
<div id="header2"></div>
<div id="header">
<div id="inheader22">
<div id="inheader23">
<input name="customer" style=" width:80px; vertical-align:middle;" value="用户名" id="userChooser" class="oc_common oc_userchooser" >

<select id="scene" name="scene" style="vertical-align:middle;" >
</select>


<select id="purpose" name="purpose" style="vertical-align:middle;">
</select>

<select id="catalogue" name="catalogue" style="vertical-align:middle;">
</select>

<select id="hc" name="hc" style="vertical-align:middle;">
</select>

<script type="text/javascript">
addressInit('scene','purpose','catalogue','hc');
</script>

<input name="number" style=" width:60px; vertical-align:middle;" onkeyup="value=this.value.replace(/\D+/g,'')" value="数量" onfocus="this.value='';" onblur="if(this.value==''){this.value='数量'}" />


<select name="reason" style="vertical-align:middle;" >
<option>原因</option>
<option>新领</option>
<option>更换</option>
<option>借用</option>
<option>测试</option>
</select>
</div>
<div id="inheader24">
<div id="inheader25">
<input name="mysubmit" type="button" value="领用" title="领用每项必填" onClick=submitit1() onmouseover="this.className='on1' " onmouseout="this.className='out1'" style="cursor:pointer;outline:none;width:40px; height:40px;border-radius:50%; font-size:12px; vertical-align:middle; font-family:'Microsoft YaHei UI'"/>
</div>
<div id="inheader25">
<input name="mysubmit" type="button" value="查询" title="查询条件忽略数量" onClick=submitit2() onmouseover="this.className='on1' " onmouseout="this.className='out1'" style="cursor:pointer;outline:none;width:40px;height:40px; border-radius:50%;font-size:12px; vertical-align:middle; font-family:'Microsoft YaHei UI'"/>
</div>
<div id="inheader25">
<input name="导出" type="button" value="导出" title="导出当前页面内容" onclick="location.href='exportl.php' " onmouseover="this.className='on1' " onmouseout="this.className='out1'" style=" cursor:pointer;outline:none; width:40px; height:40px;border-radius:50%;vertical-align:middle; font-size:12px; font-family:'Microsoft YaHei UI'" />
</div>
</div>
</div>
</div>
</form>

</div>
</div>
<div id="m">

<table id="spdata" align="center" width="800px" border="0px" >
<th style="width:140px;">用户名</th>
<th style="width:55px;">归属</th>
<th style="width:55px;">场景</th>
<th style="width:90px;">类型</th>
<th style="width:110px;">明细</th>
<th style="width:40px;">领用数</th>
<th style="width:50px;">原因</th>
<th style="width:100px;">操作人</th>
<th style="width:160px;">时间</th>
<?php

$page = $_GET["page"];
function Page($rows,$page_size){
global $page,$select_from,$select_limit,$pagenav;
$page_count = ceil($rows/$page_size);
if($page <= 1 || $page == '') $page = 1;
if($page >= $page_count) $page = $page_count;
$select_limit = $page_size;
$select_from = ($page - 1) * $page_size.',';
$pre_page = ($page == 1)? 1 : $page - 1;
$next_page= ($page == $page_count)? $page_count : $page + 1 ;
$pagenav .= "第 $page/$page_count 页 共 $rows 条记录 ";
$pagenav .= "<a href='?page=1&hcrdtbj=$_SESSION[hcrdtbj]'>首页</a> ";
$pagenav .= "<a href='?page=$pre_page&hcrdtbj=$_SESSION[hcrdtbj]'>前一页</a> ";
$pagenav .= "<a href='?page=$next_page&hcrdtbj=$_SESSION[hcrdtbj]'>后一页</a> ";
$pagenav .= "<a href='?page=$page_count&hcrdtbj=$_SESSION[hcrdtbj]'>末页</a>";
$pagenav.=" 跳到<select name='topage' size='1' onchange='window.location=\"?page=\"+this.value+\"&hcrdtbj=$_SESSION[hcrdtbj]\"'>\n";
for($i=1;$i<=$page_count;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
} // Page分页函数
// 使用示例
if (!$conn= mysql_connect("localhost", "r12" ,"22222")) die('数据库选择失败!');
if (!mysql_select_db("ccccccc", $conn)) die('数据库选择失败!');
// 用Page函数计算出 $select_from 从哪条记录开始检索、$pagenav 输出分页导航
$sqlv = "SELECT
max(dtime) as dtime
FROM
haocai
where scene='VIP耗材'
ORDER BY
dtime DESC ";
$rstv = mysql_query($sqlv,$conn);
$rowv=mysql_fetch_assoc($rstv);

$sqlp = "SELECT
max(dtime) as dtime
FROM
haocai
where scene='普通耗材'
ORDER BY
dtime DESC ";
$rstp = mysql_query($sqlp,$conn);
$rowp=mysql_fetch_assoc($rstp);



//任意条件查询组合






if(!empty($hcrdtbj))
{

if(strstr($hcrdtbj,"VIP耗材"))
{
$hcr=substr($hcrdtbj, 9);
$scener=mb_substr($hcrdtbj, 0, 5, 'utf-8');
}
else
{
$hcr=substr($hcrdtbj,12);
$scener=mb_substr($hcrdtbj, 0, 4, 'utf-8');
}


$a="where scene='$scener' and hc='$hcr'";
$_SESSION['where']= "where scene='$scener' and hc='$hcr'";
}



else{

if($_POST['customer']=="用户名" && !empty($_POST['scene']) && !empty($_POST['purpose'])&& !empty($_POST['catalogue'])&& !empty($_POST['hc'])&& $_POST['reason']!=="原因"){


$a="where scene='$_POST[scene]' and purpose='$_POST[purpose]' and catalogue='$_POST[catalogue]' and hc='$_POST[hc]' and reason='$_POST[reason]'";
$_SESSION['where']="where scene='$_POST[scene]' and purpose='$_POST[purpose]' and catalogue='$_POST[catalogue]' and hc='$_POST[hc]' and reason='$_POST[reason]'";
$_SESSION['hcrdtbj']="$_POST[scene]$_POST[purpose]$_POST[catalogue]$_POST[hc]$_POST[reason]";

}


else{


$a="";
$_SESSION['where']="order by dtime desc";

}
}









$rows = mysql_num_rows(mysql_query("select customer,scene,purpose,catalogue,hc,number,reason,person,dtime from haocai $a "));
Page($rows,35);



$sql = "select customer,scene,purpose,catalogue,hc,number,reason,person,dtime from haocai $a order by scene,dtime desc limit $select_from $select_limit ";
$rst = mysql_query($sql);
while($row=mysql_fetch_assoc($rst)){

$vip_style = $row['scene']=="VIP耗材" ? ' style=" background-color:#096;color:white;"' : '';


echo "<tr><td $vip_style>{$row['customer']}</td><td $vip_style>{$row['scene']}</td><td $vip_style>{$row['purpose']}</td><td $vip_style>{$row['catalogue']}</td>";

if($row['scene']=="VIP耗材"){
echo "<td $vip_style><a href='rdt.php?hcldtbj=$row[scene]$row[hc]' title='点击查看<$row[scene]/$row[hc]>的库存详情' style='color:white;'/a>{$row['hc']}</td>";}
else{
echo "<td $vip_style><a href='rdt.php?hcldtbj=$row[scene]$row[hc]' title='点击查看<$row[scene]/$row[hc]>的库存详情'/a>{$row['hc']}</td>";}

echo "<td $vip_style>{$row['number']}</td><td $vip_style>{$row['reason']}</td><td $vip_style>{$row['person']}</td>";

if($row['dtime'] ==$rowv['dtime'] || $row['dtime'] ==$rowp['dtime'] ) {

echo "<td $vip_style>{$row['dtime']}<img src='pic/new.gif'/></td></tr>";

}
else{

echo "<td $vip_style>{$row['dtime']}</td></tr>";

}


}
echo "<tr border=0><td colspan=9 align='right'>$pagenav</td></tr>";
mysql_close($conn);
mysql_free_result($rst);
mysql_free_result($rstv);
mysql_free_result($rstp);





?>
</table>
</div>




</div>


</body>
</html>



...全文
474 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
PQianbei 2015-08-13
  • 打赏
  • 举报
回复
引用 4 楼 nowphp 的回复:
把查询条件放到session 或者 url参数后面 可以试一下
我试过了,在page函数的url中加入session存放条件的话跳转过去是显示的全部内容,感觉没起作用。 我的提交是用的js,不知道该如何把php的查询条件让js来调用并放到js的url中去,可以指点一下吗
深圳phper 2015-08-13
  • 打赏
  • 举报
回复
把查询条件放到session 或者 url参数后面 可以试一下
equn93 2015-08-13
  • 打赏
  • 举报
回复
最好是页面布局与后台PHP脚本分离,以下是一些简单的代码片段,给你一点思路

//取分页数据
$page_num = $_POST['pagenum'];//每页显示条目数
$page_index = $POST['pageindex'];//请求的页码
$start_index = ($page_index - 1)*$page_num;
$sql = "select * from table limit $start_index,$page_num";
$data = ....//从数据库查询数据,具体代码未写
echo json_encode($data);
//以下省略

    function getData () {
        $.ajax({
            url: 'you request url',//也就是上面那个PHP文件
            type: 'POST',
            dataType: 'json',
            data: {pagenum: 20, pageindex:2},
            success: function  (data) {
                //处理数据并显示
            }
        })
    }
PQianbei 2015-08-13
  • 打赏
  • 举报
回复
引用 1 楼 equn93 的回复:
建议用ajax取数据,不用刷新整个页面。还有你分页取数据根据页码及每页显示的条目用limit即可,不用每次获取全部数据。
可以帮忙写个代码吗
equn93 2015-08-13
  • 打赏
  • 举报
回复
建议用ajax取数据,不用刷新整个页面。还有你分页取数据根据页码及每页显示的条目用limit即可,不用每次获取全部数据。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧