作者Oedogonium (aul )
看板PHP
標題[請益] 關於下一頁
時間Thu Jul 30 16:11:41 2009
各位好
我做了一個用表單搜尋的資料庫頁面
一次搜尋出的資料可以有數千筆
因此希望做個分頁
我是用Dreamweaver內建的下一頁功能來做了一個下一頁的鍵
結果發現按下一頁後
就整個重新搜尋不是之前搜尋好的頁面
附上和下一頁有關的程式碼
Chin是搜尋的資料集
表單變數是search和rgkeyword,依照填入search的key word來查詢
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Chin = 20;
$pageNum_Chin = 0;
if (isset($_GET['pageNum_Chin'])) {
$pageNum_Chin = $_GET['pageNum_Chin'];
}
$startRow_Chin = $pageNum_Chin * $maxRows_Chin;
if (isset($_GET['totalRows_Chin'])) {
$totalRows_Chin = $_GET['totalRows_Chin'];
} else {
$all_Chin = mysql_query($query_Chin);
$totalRows_Chin = mysql_num_rows($all_Chin);
}
$totalPages_Chin = ceil($totalRows_Chin/$maxRows_Chin)-1;
$queryString_Chin = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Chin") == false &&
stristr($param, "totalRows_Chin") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Chin = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_Chin = sprintf("&totalRows_Chin=%d%s", $totalRows_Chin,
$queryString_Chin);
Html是
<p class="style1"><a href="<?php printf("%s?pageNum_Chin=%d%s", $currentPage,
min($totalPages_Chin, $pageNum_Chin + 1), $queryString_Chin) ; ?>">下一頁
</a></p>
請問是要怎樣修改才對?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.52.207
推 arrack :懶得改的話,就把POST換成GET,然後改用_GET取值 07/30 16:17
※ 編輯: Oedogonium 來自: 140.112.52.207 (07/30 16:32)
推 arrack :左邊的表單 07/30 16:42
→ Oedogonium :好了耶 為什麼會這樣呢?? 07/30 16:48
※ 編輯: Oedogonium 來自: 140.112.52.207 (07/30 20:42)
→ PHP5 :原PO的程式有XSS風險 07/31 16:32