实现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 文章采集正则代码
Dec 28 PHP
php流量统计功能的实现代码
Sep 29 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
zf框架的session会话周期及次数限制使用示例
Mar 13 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
PHP命名空间定义与用法实例分析
Aug 14 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
JAVA/JSP学习系列之六
2006/10/09 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
Javascript读取cookie函数代码
2010/10/16 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
js实现数字跳动到指定数字
2020/08/25 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
allbeauty美国:英国在线美容店
2019/03/11 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
共产党员岗位承诺书
2014/05/29 职场文书
升职自荐书
2019/05/09 职场文书
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技