实现PHP搜索加分页


Posted in PHP onOctober 12, 2016

分页显示是浏览大量数据的一种方法。对于初学者来说常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。

所有示例代码均使用php编写。

所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示。

请详细阅读以下代码,自己调试运行一次,最好把它修改一次,加上自己的功能。

$wherelist=array();
$urlist=array();
if(!empty($_GET['title']))
{
$wherelist[]=" title like '%".$_GET['title']."%'";
$urllist[]="title=".$_GET['title'];
 
}
if(!empty($_GET['keywords']))
{
$wherelist[]=" keywords like '%".$_GET['keywords']."%'";
$urllist[]="keywords=".$_GET['keywords'];
}if(!empty($_GET['author']))
{
$wherelist[]=" author like '%".$_GET['author']."%'";
$urllist[]="author=".$_GET['author'];
}
$where="";
if(count($wherelist)>0)
{
$where=" where ".implode(' and ',$wherelist);
$url='&'.implode('&',$urllist);
}
//分页的实现原理
//1.获取数据表中总记录数
$sql="select count(*) from news $where ";
$result=mysql_query($sql);
$totalnum=mysql_num_rows($result);
//每页显示条数
$pagesize=5;
//总共有几页
$maxpage=ceil($totalnum/$pagesize);
$page=isset($_GET['page'])?$_GET['page']:1;
if($page <1)
{
$page=1;
}
if($page>$maxpage)
{
$page=$maxpage;
}
$limit=" limit ".($page-1)*$pagesize.",$pagesize";
$sql1="select * from news {$where} {$limit}";
 
//$sql1="select * from news {$where} {$limit}";
$res=mysql_query($sql1);
 
?>
<form action="searchpage.php" method="get">
标题:<input type="text" name="title" value="<?php echo $_GET['title']?>" size="8">
关键字<input type="text" name="keywords" value="<?php echo $_GET['keywords']?>" size="8">
作者:<input type="text" name="author" value="<?php echo $_GET['author']?>" size="8">
 <input type="button" value="查看全部" onclick="window.location='searchpage.php'">
 <input type="submit" value="搜索">
</form>
 
<table border="1" width="1000" align="center">
 <tr>
 <td>编号</td>
 <td>标题</td>
 <td>关键字</td>
 <td>作者</td>
 <td>日期</td>
 <td>内容</td>
 </tr>
<?php while($row= mysql_fetch_assoc($res)){?>
<tr>
 <td><?php echo $row['id'] ?></td>
 <td><?php echo $row['title'] ?></td>
 <td><?php echo $row['keywords'] ?></td>
 <td><?php echo $row['author'] ?></td>
 <td><?php echo date("Y-m-d H:i:s",$row['addtime']) ?></td>
 <td><?php echo $row['content'] ?></td>
 </tr>
<?php }?>
<tr>
 <td colspan="6">
<?php
 echo " 当前{$page}/{$maxpage}页 共{$totalnum}条";
echo " <a href='searchpage.php?page=1{$url}'>首页</a> ";
echo "<a href='searchpage.php?page=".($page-1)."{$url}'>上一页</a>";
echo "<a href='searchpage.php?page=".($page+1)."{$url}'>下一页</a>";
echo " <a href='searchpage.php?page={$maxpage}{$url}'>尾页</a> ";
 
?>
</td>
 </tr>
</table>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中GET变量的使用
Oct 09 PHP
PHP 加密与解密的斗争
Apr 17 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
Oct 09 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
PHP输出日历表代码实例
Mar 27 PHP
CI框架整合smarty步骤详解
May 19 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
phpstudy隐藏index.php的方法
Sep 21 PHP
如何使用PHP给图片加水印
Oct 12 #PHP
php版微信数据统计接口用法示例
Oct 12 #PHP
php版微信js-sdk支付接口类用法示例
Oct 12 #PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 #PHP
如何使用php等比例缩放图片
Oct 12 #PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 #PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 #PHP
You might like
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
js命名空间写法示例
2015/12/18 Javascript
AngularJS入门之动画
2016/07/27 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
微信小程序 自定义消息提示框
2017/08/06 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 字典与字符串的互转实例
2017/01/13 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python集合删除多种方法详解
2020/02/10 Python
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
工作中个人的自我评价
2013/12/31 职场文书
经销商会议欢迎词
2014/01/11 职场文书
总经理岗位职责描述
2014/02/08 职场文书
感恩教育活动总结
2014/05/05 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL