Maison > développement back-end > tutoriel php > php查询结果的分页显示,点击下一页时不能记住所查询的东西,只要点击下页时, 显示出来的 结果却是全部数据 。

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

WBOY
Libérer: 2016-06-20 12:55:27
original
1641 Les gens l'ont consulté

<?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>
Copier après la connexion
[


回复讨论(解决方案)

把查询条件记入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>';	}
Copier après la connexion

没必要存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>';	}
Copier après la connexion

怎么把$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
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal