Home > Backend Development > PHP Tutorial > 搜寻分页关键字值无法传送

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

WBOY
Release: 2016-06-13 11:55:19
Original
1020 people have browsed it

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

<br /><?php<br />include('db_class.php');    <br />include('inc/function.php'); <br /><br />$keyword=trim($_POST['keyword']);<br />if($keyword==""){<br />echo "<script>alert('请输入新闻名称!'); history.go(-1);</script>";<br />exit;//结束程序<br />}<br />// 数据库查找代码<br />$page=isset($_POST['page'])?intval($_POST['page']):1;   <br />$num=2;  <br />$total=$db->getcount("select * from  `".$prefix."newsbase` where  id like '%{$keyword}%'  or title like  '%{$keyword}%' ");<br />//页码计算<br />$pagenum=ceil($total/$num);     //获得总页数,也是最后一页<br />$page=min($pagenum,$page);//获得首页<br />$prepg=$page-1;//上一页<br />$nextpg=($page==$pagenum ? 0 : $page+1);//下一页<br />$offset=($page-1)*$num;<br />$result=$db->query("select * from `".$prefix."newsbase` where sn like '%{$keyword}%'  or title like '%{$keyword}%' or author like '%{$keyword}%' order by news_id desc");<br />if($row=mysql_num_rows($result)){<br />while($row=$db->getarray($result)){<br />?><br /><tr><br />        <td class="font" valign="top"  width="130"><?php echo $row[id]; ?></td><br />        <td class="font" valign="top"  width="130"><?php echo $row[title]; ?></td><br />	<td class="font" valign="top"  width="130"><?php echo $row[author]; ?></td><br /></tr>  <br /><?php<br />}<br />} else{<br />echo "<script>alert('没有该新闻信息!'); history.go(-1);</script>";<br />exit;//结束程序<br />}<br />?><br /><br /><?php <br />include 'inc/fy.php'; //分页类<br />$page=new page(array('total'=>$total,'perpage'=>$num));<br />echo $page->show(3);<br />?><br />
Copy after login


'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

Related labels:
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