实现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面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
解析CodeIgniter自定义配置文件
Jun 18 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
php curl post 时出现的问题解决
Jan 30 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
php两点地理坐标距离的计算方法
Dec 29 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
PHP底层运行机制与工作原理详解
Jul 31 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+SqlServer实现分页显示
2006/10/09 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
python求crc32值的方法
2014/10/05 Python
Python运算符重载用法实例分析
2015/06/01 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
python3中rank函数的用法
2019/11/27 Python
python安装后的目录在哪里
2020/06/21 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
关于VPN
2012/06/10 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
会计岗位说明书
2014/07/29 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
安全教育片观后感
2015/06/17 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL