php 分页显示数据 post参数传递问题解决方法
2014-03-12 21:43
1006 查看
在进行php分页的时候可以正常显示分页页码如下图
但是当点击数字的时候,就会显示异常,页码消失
经过一番折腾感觉应该是点击一次之后参数传递方式的问题。找到一篇文章:php 分页显示数据 post参数传递问题解决方法
今日php实现显示数据分页,竟遇到类似如下问题
Notice: Undefined index: content in D:\Apache2.2\htdocs\pagefenye.php on line 18
琢磨半天,终得解决。
问题原因:因有post参出,点击诸如“下一页”等时,参数传递己变为get,而非post。
解决方案:
step1 使用$_REQUEST代替$_POST,$_REQUEST既可用于POST方法传递来的参数
也可用于GET方法传递的参数
step2 对form的post参数在换页时要重新传递
两个相关的文件贴一下:
相关阅读:
PHP分页类--支持URL和POST两种
php分页不用get用post代码实例
但是当点击数字的时候,就会显示异常,页码消失
经过一番折腾感觉应该是点击一次之后参数传递方式的问题。找到一篇文章:php 分页显示数据 post参数传递问题解决方法
今日php实现显示数据分页,竟遇到类似如下问题
Notice: Undefined index: content in D:\Apache2.2\htdocs\pagefenye.php on line 18
琢磨半天,终得解决。
问题原因:因有post参出,点击诸如“下一页”等时,参数传递己变为get,而非post。
解决方案:
step1 使用$_REQUEST代替$_POST,$_REQUEST既可用于POST方法传递来的参数
也可用于GET方法传递的参数
step2 对form的post参数在换页时要重新传递
两个相关的文件贴一下:
<!--search.php:站内搜索函数---------------------> <?php /*session_start(); $search=$_REQUEST["search"]; $_SESSION["search"]=$search; $keyword=$_REQUEST["keyword"]; $_SESSION["keyword"]=$keyword;*/ require_once("sys_conf.inc"); ini_set("error_reporting","E_ALL & ~E_NOTICE"); /************************************************** /*功能:查询content字段包含$keyword的所有留言记录 /*输入:查询关键字 /*输出:查询数组 /**************************************************/ function search($keyword,$content) { $count=count($content); $j=0; $ArrSearch=array(); //结果数组 for ($i=0;$i<$count;$i++) { if (ereg($keyword,$content[$i])) //判断cotent[$i]中是否含有$keyword关键字,如果有,则条件成立 { //把关键字用红颜色突出显示,并放入结果数组 $ArrSearch[$j]=str_replace($keyword,"<font color=red><b>$keyword</b></font>",$content[$i]); $j++; } } return $ArrSearch; } /************************************************** /*功能:查询content字段包含$keyword的所有留言记录的rid /*输入:查询关键字 /*输出:rid数组 /**************************************************/ function searchid($keyword,$rid,$content) { $count=count($content); $j=0; $Arrid=array(); //结果数组 for ($i=0;$i<$count;$i++) { if (ereg($keyword,$content[$i])) //判断cotent[$i]中是否含有$keyword关键字,如果有,则条件成立 { $Arrid[$j]=$rid[$i]; $j++; } } return $Arrid; } //初始化 $one_page_line=3; //每页的最大记录数 $content=array(); //数组,包含所有记录的content属性内容 $id=array(); //数组,包含所有记录的rid属性内容 $ArrSearch=array(); //数组,包含查询结果 $Arrid=array(); //数组,包含查询结果记录的编号 //查询数据库,获取$content值 $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD); mysql_select_db($DBNAME); $str="select rid,content from guestbook"; $result=mysql_query($str,$link_id); //循环将数据库中值写入数组 $i=0; while(list($rid,$con)=mysql_fetch_row($result)) { $content[$i]=$con; $id[$i]=$rid; $i++; } mysql_close($link_id); //调用search()函数,查询关键字 if (isset($_REQUEST["search"]) and isset($_REQUEST["keyword"]) and $_REQUEST["keyword"]!="") { $ArrSearch=search($_REQUEST["keyword"],$content); $Arrid=searchid($_REQUEST["keyword"],$id,$content); } //输出全部数据 else { $ArrSearch=$content; $Arrid=$id; //存储查询结果的所有主键rid } //print_r($ArrSearch); //print_r($Arrid); $count =count($ArrSearch); ?>
<!--查询结果显示--> <?php //session_start(); //ini_set("error_reporting","E_ALL & ~E_NOTICE"); include "search.php" ?> <html> <head> <title>Search Inside</title> </head> <body> <table width="68%" border="0"> <tr> <td> <?php ini_set("error_reporting","E_ALL & ~E_NOTICE"); $int_page_count = $count; //Query Total $int_page_num = ceil($int_page_count/$one_page_line); //Total pages echo "<font color=#CC33FF>Paging:"; $search=$_REQUEST["search"]; $keyword=$_REQUEST["keyword"]; for ($i = 1;$i <= $int_page_num;$i++) { if ( isset($search) and isset($keyword) and $keyword!="") echo "<a href='booklist.php?search=$search&keyword=$keyword&page=$i'> ".$i."</a> "; } echo "</font>"; if ( isset($search) and isset($keyword) and $keyword!="") { echo "<br /><center>"; echo "Search result contained keywords <font color=red><b>".$_POST["keyword"]."</b></font> total <font color=red>".$count."</font></center>"; } ?> </td> <td> <p align="right">Total<font color=red><?php echo " $count";?></font></p> </td> </tr> </table> <table width="68%" border="0" align="center"> <?php if (isset($page) or $page=="") { $page=empty($_GET['page'])?1:$_GET['page']; $begin_line=$int_page_count-($page-1)*$one_page_line; if($begin_line<$one_page_line) $one_page_line=$begin_line; for ($j=$begin_line;$j>($begin_line-$one_page_line);$j--) { echo "<tr><td align=right colspan=2>"; echo "<a href=replylist.php?&recordid=".$Arrid[$j-1].">Scan reply</a> "; echo "<a href=reply.php?task=reply&recordid=".$Arrid[$j-1].">Reply</a> "; echo "<a href=update.php?recordid=".$Arrid[$j-1].">Edit</a> "; echo "<a href=delete.php?recordid=".$Arrid[$j-1].">Delete</a> "; echo "No.<font color=red>$j</font></td></tr>"; print_r ($ArrSearch[$j-1]); } } ?> </table> <p align=center><a href="#" onclick=history.back()>Back</a></p> </body> </html>
相关阅读:
PHP分页类--支持URL和POST两种
php分页不用get用post代码实例
相关文章推荐
- php 分页显示数据 post参数传递问题解决方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- php post大量数据时发现数据丢失问题解决方法
- JAVA POST与GET数据传递时中文乱码问题解决方法
- angular的$http.post()提交数据到Java后台接收不到参数值问题的解决方法
- ajax+php POST方法发送数据(解决后端中文乱码问题)
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- php post大量数据时发现数据丢失问题解决方法
- 解决post请求接收数据类型为text/html时参数传递的问题
- PHP使用$_POST传递数据并检验输出时弹出CSS代码的解决方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- PHP查询大量数据内存耗尽问题的解决方法
- 解决get方法传递URL参数中文乱码问题
- 解决get方法传递URL参数中文乱码问题
- Rundll32.exe参数传递问题解决方法
- 解决SpringMvc限定请求方法POST推送数据出现的中文乱码问题
- HttpClient4.5.2版本中POST提交中文参数时乱码问题解决方法
- phpstorm 下配置 apache服务器的方法(解决 post不能正确提交到php的问题)
- 类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法 续集