3 回答
TA贡献1943条经验 获得超7个赞
$_POST
处理 POST HTTP 请求时,PHP 会填充超级全局变量。第 1 页的请求就是这种情况。
但是,您的 go2page()
函数正在发生变化location.href
,它会生成 GET HTTP 请求,分页链接也会发生变化。
您应该将 startdate
和 enddate
参数附加到分页 URL,以将您的参数转发到下一个/上一个请求:
qm.php?page=<YOUR-PAGE-NUMBER>&startdate=<YOUR-START-DATE>&enddate=<YOUR-END-DATE>';
并在处理 GET 请求时使用 $_GET['startdate']
和 $_GET['enddate]
检索这些内容。
TA贡献1775条经验 获得超8个赞
添加$_POST内部链接的值并将其用作$_GET,这样您就可以同时使用这两个链接。
$startdate1=$enddate1=null; //to hide notice
if(isset($_POST['Search'])){
$startdate1 = $_POST['startdate'];
echo "Start date : ".$startdate1.", ";
$enddate1 = $_POST['enddate'];
echo "End date : ".$enddate1;
} else if (!empty($_GET['startdate']) && !empty($_GET['enddate'])){
$startdate1 = $_GET['startdate'];
echo "Start date : ".$startdate1.", ";
$enddate1 = $_GET['enddate'];
echo "End date : ".$enddate1;
}
$pagLink .= "<li><a href='qm.php?page=".($k+$i)."&startdate=".startdate1."&enddate=".$enddate1."'>".($k+$i)."</a></li>";
根据您的需要:
$pagLink = "";
if($pn>=2){
echo "<li><a href='qm.php?page=1&startdate=".startdate1."&enddate=".$enddate1."'> << </a></li>";
echo "<li><a href='qm.php?page=".($pn-1)."&startdate=".startdate1."&enddate=".$enddate1."'> < </a></li>";
}
for ($i=-4; $i<=4; $i++) {
if($k+$i==$pn)
$pagLink .= "<li class='active'><a href='qm.php?page=".($k+$i)."&startdate=".startdate1."&enddate=".$enddate1."'>".($k+$i)."</a></li>";
else
$pagLink .= "<li><a href='qm.php?page=".($k+$i)."&startdate=".startdate1."&enddate=".$enddate1."'>".($k+$i)."</a></li>";
};
echo $pagLink;
if($pn<$total_pages){
echo "<li><a href='qm.php?page=".($pn+1)."&startdate=".startdate1."&enddate=".$enddate1."'> > </a></li>";
echo "<li><a href='qm.php?page=".$total_pages."&startdate=".startdate1."&enddate=".$enddate1."'> >> </a></li>";
}
这将帮助您将日期移至下一页。
您需要将其设置为所有分页链接。您还可以制作额外的 if 语句以不传递空GET
编辑:
正如我已经说过的:您需要将其设置为所有分页链接。您还可以制作额外的 if 语句以不传递空 GET (包括 javascript)
function go2Page()
{
var pn = document.getElementById("pn").value;
pn = ((pn><?php echo $total_pages; ?>)?<?php echo $total_pages; ?>:((pn<1)?1:pn));
window.location.href = 'teztz.php?page='+pn+'&startdate=<?=startdate1;?>&enddate=<?=$enddate1;?>';
}
TA贡献1780条经验 获得超3个赞
你的有一个错误isset($_POST['Search'])
你的代码:
if(isset($_POST['Search'])){
$startdate1 = $_POST['startdate'];
echo "Start date : ".$startdate1", ";
$enddate1 = $_POST['enddate'];
echo "End date : ".$enddate1;
}
可能的工作解决方案:
if(isset($_POST['Search'])){
$startdate1 = $_POST['startdate'];
echo "Start date : ".$startdate1.", ";
$enddate1 = $_POST['enddate'];
echo "End date : ".$enddate1;
}
虽然我还没有尝试过,但我认为这就是原因,page2 中的分页将不起作用,因为在 page2 的分页错误之后代码不会执行。
编辑:. 解决了问题。
echo "Start date : ".$startdate1", ";
不同于
echo "Start date : ".$startdate1.", ";
- 3 回答
- 0 关注
- 128 浏览
添加回答
举报