php在使用分页脚本时获取帖子数据

时间:2014-07-28 09:16:03

标签: php post pagination

我有一个名为mainPage.php的页面,其中包含一个显示页面列表的分页脚本。

 [1][2][3][4][5] 

分页工作正常,但当我转到下一页时,帖子数据会消失。

for($i=1;$i<=$totalPage;$i++)
{
if($page==$i)
{
echo ' <input  type="button" value="'.$i.'"> ';
}
else
{
echo '<a href="mainPage.php='.$i.'"> <input type="button" value="'.$i.'"> </a>';
}}

点击此链接后,有没有办法让帖子数据到下一页码:

 <a href="mainPage.php='.$i.'"> 

没有表格。

3 个答案:

答案 0 :(得分:1)

不,这是不可能的。将表单(使用method=post)提交到服务器时,即一个 POST请求。如果要发出另一个POST请求,则需要发出另一个POST请求。如果单击链接,那不是POST请求。

我假设您的场景类似于搜索表单,它通过POST提交并返回几页结果。在这种情况下,无论如何都会滥用POST。应使用HTTP POST请求来更改服务器上的数据,例如注册新用户或删除记录。只是搜索表单不是数据更改,它只是数据检索。因此,您的表单应为method=get。这将导致表单值为查询参数的URL:

mainPage.php?search=foobar

然后您可以通过以下方式轻松创建分页URL:

printf('<a href="mainPage.php?%s">...', http_build_query(array('page' => $i) + $ _GET));

这将导致:

mainPage.php?search=foobar&page=2

这样,您的所有请求都是自包含的GET查询。

答案 1 :(得分:0)

尝试<a href="mainPage.php?page='.$i.'">并获取第页。使用$_GET['page'];

答案 2 :(得分:0)

您可以使用GET方法而不是帖子来完成工作。如果您想在帖子请求中进行操作,则需要为每个方法分别进行操作。