搜寻分页关键字值无法传送

时间:2016-06-13 11:55:19 来源:互联网 作者: 神秘的大神 字体:

搜索分页关键字值无法传送
search.php


include('db_class.php');
include('inc/function.php');

$keyword=trim($_POST['keyword']);
if($keyword==""){
echo "";
exit;//结束程序
}
// 数据库查找代码
$page=isset($_POST['page'])?intval($_POST['page']):1;
$num=2;
$total=$db->getcount("select * from `".$prefix."newsbase` where id like '%{$keyword}%' or title like '%{$keyword}%' ");
//页码计算
$pagenum=ceil($total/$num); //获得总页数,也是最后一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num;
$result=$db->query("select * from `".$prefix."newsbase` where sn like '%{$keyword}%' or title like '%{$keyword}%' or author like '%{$keyword}%' order by news_id desc");
if($row=mysql_num_rows($result)){
while($row=$db->getarray($result)){
?>





}
} else{
echo "";
exit;//结束程序
}
?>

include 'inc/fy.php'; //分页类
$page=new page(array('total'=>$total,'perpage'=>$num));
echo $page->show(3);
?>


'inc/fy.php' 是网上找的一个PHP分页类(支持四种分页模式),这里我使用的是模式三,现在的问题是搜索正确显示,但是在分页单击下一页的时候老提示“请输入新闻名称”,也就是说关键字没传成功,是在不明白问题在哪里,在论坛上搜索了好久都没有类似的问题,特来请教各位大虾!
------解决方案--------------------
1. 你的page变量不是用get传递吗。
2.$result=$db->query("select * from `".$prefix."newsbase` where sn like '%{$keyword}%' or title like '%{$keyword}%' or author like '%{$keyword}%' order by news_id desc"); 这句没有传递分页条件。
改为:
$result=$db->query("select * from `".$prefix."newsbase` where sn like '%{$keyword}%' or title like '%{$keyword}%' or author like '%{$keyword}%' order by news_id desc Limit {$offset},{$num}");
------解决方案--------------------
$_POST['keyword'] 只在表单提交时有效,翻页后就没有了

------解决方案--------------------
传递分页里面的关键字的话,最好在表单里面使用GET方式提交。提交之后,表单里面的Action里面的链接带的所有参数将不会自动被提交。必须放到 里面才可以。其次是,遇到中文的问题,必须进行url_encode编码才能进行传递。不然会乱码。http://www.phpcxz.com/a/web/phpweb/2011/0802/113.html

相关文章


  • PHP如何安装和配置?
  • php 和 python 语法(部分)上的区别
  • PHP 随机数 C扩展随机数
  • PHP查询附近的人及其距离的实现方法_php技巧
  • 搜寻分页关键字值无法传送