mysql 検索後のページング
現在商品管理のページを作成しておりまして
検索後のページングに関してちょっと困っておりまして
ご相談に伺った次第です。
商品検索は出来るのですが、ページ数が多い場合は
次ページボタンをクリックして次のページを表示
させるんですが、なぜかデータペースで登録したの最初ページに戻ってしまうと言う現象が起こってしまっております。
できたらこれにand検索を付けたいと思っているんですが、
いろいろ見させてもらっているんですがうまくいかないので
是非ご教授願いたいです。
<?php
$search = $_POST['search'];
$currentPage = $_SERVER["PHP_SELF"];
$maxRows = 30;
$pageNum = 0;
if (isset($_GET['pageNum'])) {
$pageNum = $_GET['pageNum'];
}
$startRow = $pageNum * $maxRows;
$query = "SELECT * FROM shop where concat(name, pref, address) like '%$search%'";
$query_limit = sprintf("%s LIMIT %d, %d", $query, $startRow, $maxRows);
$list = mysql_query($query_limit, $conn) or die(mysql_error());
$row = mysql_fetch_assoc($list);
if (isset($_GET['totalRows'])) {
$totalRows = $_GET['totalRows'];
} else {
$all = mysql_query($query);
$totalRows = mysql_num_rows($all);
}
$totalPages = ceil($totalRows/$maxRows)-1;
$queryString = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum") == false &&
stristr($param, "totalRows") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString = sprintf("&totalRows=%d%s", $totalRows, $queryString);
?>
(ページ出力省略)
<table width="280" border="0" align="center" cellpadding="5" cellspacing="0">
<tr>
<td width="130"><form id="form2" name="form2" method="post" action="<?php printf("%s?pageNum=%d%s", $currentPage, max(0, $pageNum - 1), $queryString); ?>">
<?php if ($pageNum > 0) { // 最初のページは非表示 ?>
<input type="submit" name="Submit4" value="←前のページ" />
<?php } ?></form>
</td>
<td width="130" align="center" valign="top"><form id="form3" name="form3" method="post" action="<?php printf("%s?pageNum=%d%s", $currentPage, min($totalPages, $pageNum + 1), $queryString); ?>">
<?php if ($pageNum < $totalPages) { // 最終ページは非表示 ?>
<input type="submit" name="Submit5" value="次のページ→" />
<?php } ?></form>
</td>
</tr>
</table>
</div>
</body>
</html>
ソースコードを載せておきますのでご指摘よろしくお願いします。
MySQLバージョン4.1.7
phpバージョン 4.3.9
です。