Heim > Backend-Entwicklung > PHP-Tutorial > 搜寻分页关键字值无法传送

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

WBOY
Freigeben: 2016-06-13 11:55:19
Original
1022 Leute haben es durchsucht

搜索分页关键字值无法传送
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 />
Nach dem Login kopieren


'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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage