实现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+oracle 分页类
Oct 09 PHP
用PHP和ACCESS写聊天室(三)
Oct 09 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
ThinkPHP3.1基础知识快速入门
Jun 19 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
PHP获取用户访问IP地址的5种方法
May 16 PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 PHP
php实现URL加密解密的方法
Nov 17 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 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
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
php中使用sftp教程
2015/03/30 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
python获取元素在数组中索引号的方法
2015/07/15 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Python socket处理client连接过程解析
2020/03/18 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
Django model class Meta原理解析
2020/11/14 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
仓库主管的岗位职责
2013/12/04 职场文书
学校后勤人员职责
2013/12/27 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
大课间体育活动方案
2014/03/12 职场文书
学历公证委托书
2014/04/09 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
盲山观后感
2015/06/11 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
党章学习心得体会2016
2016/01/14 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js