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

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

WBOY
Release: 2016-06-20 12:55:27
Original
1641 people have browsed it

<?php// 获取select值$select_value = isset($_GET['select']) ? $_GET['select'] : '';//echo $select_value;//执行查询SQLif($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>
Copy after login
[


回复讨论(解决方案)

把查询条件记入session。
当点下一页时,把查询条件从session中读出再执行查询。

把查询条件记入session。
当点下一页时,把查询条件从session中读出再执行查询。

具体点啊是把$_result存入session吗?

你没有在 url 里传递 select

你没有在 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>';	}
Copy after login

没必要存session,最科学的方式就是把查询条件放url上

把查询条件记入session。
当点下一页时,把查询条件从session中读出再执行查询。

没必要存session,最科学的方式就是把查询条件放url上


把查询条件记入session。
当点下一页时,把查询条件从session中读出再执行查询。

qiujiao求教怎么实现啊。。

所有 '.php?page='
都改为 '.php?select=' . $select .'&page='

所有 '.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>';	}
Copy after login

怎么把$select_value传过去啊

// 获取select值
$select_value = isset($_GET['select']) ? $_GET['select'] : '';

不是你自己写的吗?

// 获取select值
$select_value = isset($_GET['select']) ? $_GET['select'] : '';

不是你自己写的吗?

这个$select_value是获取选择的状态的。

对呀,有了选择状态,翻页的时候就不会跑题了

// 获取select值
$select_value = isset($_GET['select']) ? $_GET['select'] : '';

不是你自己写的吗?

这个$select_value是获取选择的状态的,跟那个方法没什么关系吧。现在的问题就是当选择某个状态,进入下一页时,就会跳到全部状态的第二页。

对呀,有了选择状态,翻页的时候就不会跑题了

echo '
  • 首页 | 
  • ';
    echo '
  • 上一页 | 
  • ';
    }
    if ($_page == $_pageabsolute) {
    echo '
  • 下一页 | 
  • ';
    echo '
  • 尾页
  • ';
    } else {
    echo '
  • 下一页 | 
  • ';
    echo '
  • 尾页
  • ';
    }
    改成这样就能获取到$select_value的值了,翻页不会乱跳了,终于解决了。太感谢你了,你真大神啊。。

    把你搜索的字段内容也传过去

    把你搜索的字段内容也传过去

    恩,解决了,谢谢你

    传session是一种做法,当然在url加上搜寻条件也可以。

    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template