Heim > Artikel > Backend-Entwicklung > 怎么把查询和分页一起实现
查询 和 分页都能实现 就是不知道怎么把两个合在一起
代码如下
$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>";
<?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)){?>