Home  >  Article  >  Backend Development  >  如何把查询和分页一起实现

如何把查询和分页一起实现

WBOY
WBOYOriginal
2016-06-13 11:54:01959browse

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

本帖最后由 u014474944 于 2014-04-04 20:14:27 编辑 查询 和 分页都能实现 就是不知道怎么把两个合在一起 
代码如下
<br />$page=isset($_GET['page'])?$_GET['page']:1; <br />$pagesize=20; <br />$sql="SELECT count(*) from khxx";<br />$res=mysql_query($sql);<br />$maxrows=mysql_result($res,0,0);<br />$maxpages=ceil($maxrows/$pagesize);<br />if($page>$maxpages){<br />	$page=$maxpages;}<br />if($page<1){<br />	$page=1;}<br />$limit=" limit ".(($page-1)*$pagesize).",{$pagesize}";<br /><br />if (!empty($_GET[keys])) {<br />			$keys=$_GET['keys'];<br />			$ww="`dates` like '%".$keys."%' or `area` like '%".$keys."%' ;<br />			$wh="where {$ww}";<br />		}<br />

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

<?php<br />			<br />			$sql="SELECT * FROM `khxx` {$wh} order by id desc {$limit}";<br />			$query=mysql_query($sql);<br />			while ($rs=mysql_fetch_array($query)){<br />		?><br /><br />

------解决方案--------------------
还要怎么整合?
sql查询的就是当前页的内容。也就是说,你只需要把当前页查询出来的内容展示出来,然后编好页码就行了。
------解决方案--------------------
<br /><?php<br />$page=isset($_GET['page'])?$_GET['page']:1; <br />$pagesize=20; <br /><br />if (!empty($_GET[keys])) {<br />   $keys=$_GET['keys'];<br />   $ww="`dates` like '%".$keys."%' or `area` like '%".$keys."%' ";<br />   $wh="where {$ww}";<br />}else{<br />    $wh = ""<br />}<br /><br />$sql="SELECT count(*) from khxx ".$wh; // 计算总数时加入搜索条件 <br />$res=mysql_query($sql);<br />$maxrows=mysql_result($res,0,0);<br />$maxpages=ceil($maxrows/$pagesize);<br />if($page>$maxpages){<br />    $page=$maxpages;}<br />if($page<1){<br />    $page=1;}<br />$limit=" limit ".(($page-1)*$pagesize).",{$pagesize}";<br /><br />// 查询当前页记录 <br />$sql="SELECT * FROM `khxx` {$wh} order by id desc {$limit}";<br />$query=mysql_query($sql);<br />while ($rs=mysql_fetch_array($query)){<br /><br />?><br />

------解决方案--------------------
你得把搜索的字段 写进URL里面  然后传参 那样才行吧
------解决方案--------------------
你的翻页条中没有附加查询条件
------解决方案--------------------
引用:
Quote: 引用:

你得把搜索的字段 写进URL里面  然后传参 那样才行吧

就是不知道怎么写 没思路


echo "<a href='khall.php?keys=$_GET['keys']&page=".($page-1)."'>上一页</a>";

你把分页URL上都加上 这个 查询字段  应该就可以了
------解决方案--------------------
引用:
Quote: 引用:

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

效果和我写的差不多 
我写的有个问题就是 点下一页后 当前的查询状态就消失了 想问下 怎么写才可以把查询加入到分页


那你需要在翻頁的url中加入条件参数,例如下一页需要这样写
echo "下一页";
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn