php查询结果的分页显示,点击下一页时不能记住所查询的东西,只要点击下页时, 显示出来的 结果却是全部数据 。

东风破1994 2015-05-27 10:58:19
<?php
// 获取select值
$select_value = isset($_GET['select']) ? $_GET['select'] : '';
//echo $select_value;

//执行查询SQL
if($select_value==""){
_page("SELECT o_id FROM t_order",5);
$_result= mysql_query("SELECT * FROM t_order ORDER BY createtime DESC LIMIT $_pagenum,$_pagesize");
}
if($select_value=="option1"){
_page("SELECT o_id FROM t_order where status=0",4);
$_result1= mysql_query("SELECT * FROM t_order where status=0 ORDER BY createtime DESC LIMIT $_pagenum,$_pagesize");
//echo _num_rows($_result);

}
if($select_value=="option2"){
_page("SELECT o_id FROM t_order where status=1",20);
$_result= mysql_query("SELECT * FROM t_order where status=1 ORDER BY createtime DESC LIMIT $_pagenum,$_pagesize");
}
if($select_value=="option3"){
_page("SELECT o_id FROM t_order where status=2",20);
$_result= mysql_query("SELECT * FROM t_order where status=2 ORDER BY createtime DESC LIMIT $_pagenum,$_pagesize");
}[code=php]
<form action='order.php' style="margin-left:20px;">
<select name="select">
<option value="">全部状态</option>

<option value="option1" <?php
// 如果在上面获取的值和这个option里的值一样,
// 就打印selected,让这个option默认被选中
echo $select_value == 'option1' ? 'selected' : ''
?>>未付款</option>
<option value="option2" <?php
echo $select_value == 'option2' ? 'selected' : ''
?>>已付款待取件</option>
<option value="option3" <?php
echo $select_value == 'option3' ? 'selected' : ''
?>>已取件待送洗</option>
</select>
<input type="submit" value="查询" />
</form>
[
...全文
588 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2015-05-28
  • 打赏
  • 举报
回复
把查询条件记入session。 当点下一页时,把查询条件从session中读出再执行查询。
zhaoyong2006 2015-05-28
  • 打赏
  • 举报
回复
没必要存session,最科学的方式就是把查询条件放url上
引用 1 楼 fdipzone 的回复:
把查询条件记入session。 当点下一页时,把查询条件从session中读出再执行查询。
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
你没有在 url 里传递 select
可以具体点吗?是在这里加吗?
elseif ($_type == 2) {
		echo '<div id="page_text">';
		echo '<ul>';
		echo '<li>'.$_page.'/'.$_pageabsolute.'页 | </li>';
		echo '<li>共有<strong>'.$_num.'</strong>个订单 | </li>';
		if ($_page == 1) {
			echo '<li>首页 | </li>';
			echo '<li>上一页 | </li>';
		} else {
			echo '<li><a href="'.SCRIPT.'.php">首页</a> | </li>';
			echo '<li><a href="'.SCRIPT.'.php?page='.($_page-1).'">上一页</a> | </li>';
		}
		if ($_page == $_pageabsolute) {
			echo '<li>下一页 | </li>';
			echo '<li>尾页</li>';
		} else {
			echo '<li><a href="'.SCRIPT.'.php?page='.($_page+1).'">下一页</a> | </li>';
			echo '<li><a href="'.SCRIPT.'.php?page='.$_pageabsolute.'">尾页</a></li>';
		}
		echo '</ul>';
		echo '</div>';
	}
xuzuning 2015-05-28
  • 打赏
  • 举报
回复
你没有在 url 里传递 select
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 1 楼 fdipzone 的回复:
把查询条件记入session。 当点下一页时,把查询条件从session中读出再执行查询。
具体点啊是把$_result存入session吗?
傲雪星枫 2015-05-28
  • 打赏
  • 举报
回复
传session是一种做法,当然在url加上搜寻条件也可以。
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 14 楼 czh0423 的回复:
把你搜索的字段内容也传过去
恩,解决了,谢谢你
小菜鸟czh 2015-05-28
  • 打赏
  • 举报
回复
把你搜索的字段内容也传过去
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
对呀,有了选择状态,翻页的时候就不会跑题了
echo '<li><a href="'.SCRIPT.'.php?select='. $_GET['select'].'">首页</a> | </li>'; echo '<li><a href="'.SCRIPT.'.php?select='. $_GET['select'].'&page='.($_page-1).'">上一页</a> | </li>'; } if ($_page == $_pageabsolute) { echo '<li>下一页 | </li>'; echo '<li>尾页</li>'; } else { echo '<li><a href="'.SCRIPT.'.php?select='.$_GET['select'].'&page='.($_page+1).'">下一页</a> | </li>'; echo '<li><a href="'.SCRIPT.'.php?select='.$_GET['select'].'&page='.$_pageabsolute.'">尾页</a></li>'; } 改成这样就能获取到$select_value的值了,翻页不会乱跳了,终于解决了。太感谢你了,你真大神啊。。
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
// 获取select值 $select_value = isset($_GET['select']) ? $_GET['select'] : ''; 不是你自己写的吗?
这个$select_value是获取选择的状态的,跟那个方法没什么关系吧。现在的问题就是当选择某个状态,进入下一页时,就会跳到全部状态的第二页。
xuzuning 2015-05-28
  • 打赏
  • 举报
回复
对呀,有了选择状态,翻页的时候就不会跑题了
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
// 获取select值 $select_value = isset($_GET['select']) ? $_GET['select'] : ''; 不是你自己写的吗?
这个$select_value是获取选择的状态的。
xuzuning 2015-05-28
  • 打赏
  • 举报
回复
// 获取select值 $select_value = isset($_GET['select']) ? $_GET['select'] : ''; 不是你自己写的吗?
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
所有 '.php?page='
都改为 '.php?select=' . $select .'&page='
	} elseif ($_type == 2) {
echo '<div id="page_text">';
echo '<ul>';
echo '<li>'.$_page.'/'.$_pageabsolute.'页 | </li>';
echo '<li>共有<strong>'.$_num.'</strong>个订单 | </li>';
if ($_page == 1) {
echo '<li>首页 | </li>';
echo '<li>上一页 | </li>';
} else {
echo '<li><a href="'.SCRIPT.'.php?select='.$select_value.'">首页</a> | </li>';
echo '<li><a href="'.SCRIPT.'.php?select='.$select_value.'&page='.($_page-1).'">上一页</a> | </li>';
}
if ($_page == $_pageabsolute) {
echo '<li>下一页 | </li>';
echo '<li>尾页</li>';
} else {
echo '<li><a href="'.SCRIPT.'.php?select='.$select_value.'&page='.($_page+1).'">下一页</a> | </li>';
echo '<li><a href="'.SCRIPT.'.php?select='.$select_value.'&page='.$_pageabsolute.'">尾页</a></li>';
}
echo '</ul>';
echo '</div>';
}

怎么把$select_value传过去啊
xuzuning 2015-05-28
  • 打赏
  • 举报
回复
所有 '.php?page=' 都改为 '.php?select=' . $select .'&page='
东风破1994 2015-05-28
  • 打赏
  • 举报
回复
引用 5 楼 zhaoyong2006 的回复:
没必要存session,最科学的方式就是把查询条件放url上 [quote=引用 1 楼 fdipzone 的回复:] 把查询条件记入session。 当点下一页时,把查询条件从session中读出再执行查询。
[/quote]qiujiao求教怎么实现啊。。

21,887

社区成员

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

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