クエリとページングを一緒に実装する方法

WBOY
リリース: 2016-06-23 13:59:35
オリジナル
1271 人が閲覧しました

クエリとページングは​​どちらも実現できるが、両者をどのように組み合わせるのかが分からない
コードは以下の通り

$page=isset($_GET['page'])?$_GET['page']:1; $pagesize=20; $sql="SELECT count(*) from khxx";$res=mysql_query($sql);$maxrows=mysql_result($res,0,0);$maxpages=ceil($maxrows/$pagesize);if($page>$maxpages){	$page=$maxpages;}if($page<1){	$page=1;}$limit=" limit ".(($page-1)*$pagesize).",{$pagesize}";if (!empty($_GET[keys])) {			$keys=$_GET['keys'];			$ww="`dates` like '%".$keys."%' or `area` like '%".$keys."%' ;			$wh="where {$ww}";		}
ログイン後にコピー

		<form action="khall.php" method="get">			<input class="inp" type="text" name="keys"/ >			<input class="sub" type="submit" value="查询"/>		</form>			</tr>			<tr>			<?php echo "当前{$page}/{$maxpages}页 共计{$maxrows}条";					  echo "<a href='khall.php?page=1'>首页</a>";					  echo "<a href='khall.php?page=".($page-1)."'>上一页</a>";					  echo "<a href='khall.php?page=".($page+1)."'>下一页</a>";					  echo "<a href='khall.php?page={$maxpages}'>末页</a>";				?>                       </tr>
ログイン後にコピー

<?php						$sql="SELECT * FROM `khxx` {$wh} order by id desc {$limit}";			$query=mysql_query($sql);			while ($rs=mysql_fetch_array($query)){		?>
ログイン後にコピー


ディスカッションへの返信(解決策)

他にどうすればよいか統合する?
SQL クエリは現在のページのコンテンツです。つまり、現在のページでクエリされたコンテンツを表示し、ページに番号を付けるだけで済みます。

<?php$page=isset($_GET['page'])?$_GET['page']:1; $pagesize=20; if (!empty($_GET[keys])) {   $keys=$_GET['keys'];   $ww="`dates` like '%".$keys."%' or `area` like '%".$keys."%' ";   $wh="where {$ww}";}else{    $wh = ""}$sql="SELECT count(*) from khxx ".$wh; // 计算总数时加入搜索条件 $res=mysql_query($sql);$maxrows=mysql_result($res,0,0);$maxpages=ceil($maxrows/$pagesize);if($page>$maxpages){    $page=$maxpages;}if($page<1){    $page=1;}$limit=" limit ".(($page-1)*$pagesize).",{$pagesize}";// 查询当前页记录 $sql="SELECT * FROM `khxx` {$wh} order by id desc {$limit}";$query=mysql_query($sql);while ($rs=mysql_fetch_array($query)){?>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

他にどのように統合するか?
SQL クエリは現在のページのコンテンツです。つまり、現在のページでクエリされたコンテンツを表示し、ページに番号を付けるだけで済みます。
それを明確にしていませんでした
私が書いたことの問題は、次のページをクリックすると現在のクエリステータスが消えることです。ページングにクエリを追加する方法を聞きたいです

<?php$page=isset($_GET['page'])?$_GET['page']:1; $pagesize=20; if (!empty($_GET[keys])) {   $keys=$_GET['keys'];   $ww="`dates` like '%".$keys."%' or `area` like '%".$keys."%' ";   $wh="where {$ww}";}else{    $wh = ""}$sql="SELECT count(*) from khxx ".$wh; // 计算总数时加入搜索条件 $res=mysql_query($sql);$maxrows=mysql_result($res,0,0);$maxpages=ceil($maxrows/$pagesize);if($page>$maxpages){    $page=$maxpages;}if($page<1){    $page=1;}$limit=" limit ".(($page-1)*$pagesize).",{$pagesize}";// 查询当前页记录 $sql="SELECT * FROM `khxx` {$wh} order by id desc {$limit}";$query=mysql_query($sql);while ($rs=mysql_fetch_array($query)){?>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

効果はほとんどありません。私が書いたことと同じです
私が書いたものの問題は、次のページをクリックすると現在のクエリステータスが消えることです。ページネーションにクエリを追加する方法を知りたいです

検索フィールドを書き込む必要があります。 URL を指定してパラメータを渡すと、うまくいきますね。

URL に検索フィールドを書き込んでパラメータを渡す必要があります。その書き方がわかりません。

ページめくりバーには追加のクエリ条件はありません

URL にパラメータを渡す必要があります
方法がわかりません。書いても何もわかりません

echo "<a href='khall.php?keys=$_GET['keys']&page=".($page-1)."'>上一页</a>";
ログイン後にコピー

このクエリフィールドをページング URL に追加するだけです

<?php$page=isset($_GET['page'])?$_GET['page']:1; $pagesize=20; if (!empty($_GET[keys])) {   $keys=$_GET['keys'];   $ww="`dates` like '%".$keys."%' or `area` like '%".$keys."%' ";   $wh="where {$ww}";}else{    $wh = ""}$sql="SELECT count(*) from khxx ".$wh; // 计算总数时加入搜索条件 $res=mysql_query($sql);$maxrows=mysql_result($res,0,0);$maxpages=ceil($maxrows/$pagesize);if($page>$maxpages){    $page=$maxpages;}if($page<1){    $page=1;}$limit=" limit ".(($page-1)*$pagesize).",{$pagesize}";// 查询当前页记录 $sql="SELECT * FROM `khxx` {$wh} order by id desc {$limit}";$query=mysql_query($sql);while ($rs=mysql_fetch_array($query)){?>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

効果は私が書いたこととほぼ同じです
私が書いた次のページをクリックした後に、現在のクエリのステータスが消えます。ページングにクエリを追加する方法を聞きたいです

次に、ページの URL に条件パラメータを追加する必要があります。たとえば、次のページは次のようにする必要があります
echo " 次のページ";

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート