实现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中$_SERVER的详细参数与说明
Jul 29 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
php约瑟夫问题解决关于处死犯人的算法
Mar 23 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
php结合md5的加密解密算法实例
Sep 30 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
PHP Web表单生成器案例分析
Jun 02 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内置的Math函数效率测试
2014/12/01 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python画双y轴图像的示例代码
2019/07/07 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
百日安全活动总结
2014/05/04 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
影视后期实训报告
2014/11/05 职场文书
就业推荐表导师评语
2014/12/31 职场文书
库房管理员岗位职责
2015/02/12 职场文书
个人维稳承诺书
2015/05/04 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python