怎么把查询和分页一起实现

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板