使用POST在php中自定义分页


Custom pagination in php with POST

我需要做的是用PHP进行分页,并将单击的href发布到PHP_SELF,然后根据它重新设计页面。

以下是一些示例代码:

for ($i = 1; $i <= $pagecount; $i++) {
    if ($i == 1)
        echo "<ul>";
    echo "<li>";
    echo "<input type='"hidden'" name='"p'" value='"". $i ."'">";
    echo "<a href='"'" onclick='"document.forms['page'].submit(); return false;'">";
    echo "<span>". $i ."</span></a></li>";
    if ($i == $pagecount)
    echo "</ul>";
}

我按此列出页面,我想要的是只向PHP_SELF发送单击的页码,但它只发送2页的p=2(例如$_POST["p"] = 2),因为最后一个隐藏变量p是2。如何在不更改href部件的情况下解决此问题?我的目标是发送变量,不希望在URL中看到它。提前感谢:)

我通过如下代码解决了这个问题:

for ($i = 1; $i <= $pagecount; $i++) {
    if ($i == 1)
        echo "<ul>";
    echo "<li>";
    echo "<input type='"hidden'" id='"p'" name='"p'">";
?>
<a href="" onclick="document.getElementById('p').value=<?php echo $i ?>; document.forms['page'].submit(); return false;">
<?php
    echo "<span>". $i ."</span></a></li>";
    if ($i == $pagecount)
    echo "</ul>";
}

a href代码在php标记下不起作用。虽然不知道确切的原因,但它一定与getElementById选项有关。