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條經驗 獲得超4個贊
你的有一個錯誤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 關注
- 204 瀏覽
添加回答
舉報