实现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连接access数据库
Mar 27 PHP
PHP 缓存实现代码及详细注释
May 16 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
php获取url参数方法总结
Nov 13 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
php htmlentities()函数的定义和用法
May 13 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
PHP给前端返回一个JSON对象的实例讲解
May 31 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
tp5框架内使用tp3.2分页的方法分析
May 05 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中的 == 运算符进行字符串比较
2006/11/26 PHP
php中apc缓存使用示例
2013/12/25 PHP
discuz目录文件资料汇总
2014/12/30 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
JavaScript知识点整理
2015/12/09 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
Python实现弹球小游戏
2020/08/01 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
python入门教程之基本算术运算符
2020/11/13 Python
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
办公室助理岗位职责
2013/12/25 职场文书
庆七一活动方案
2014/01/25 职场文书
小学清明节活动方案
2014/03/08 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
丧事答谢词
2015/01/05 职场文书
保研推荐信范文
2015/03/25 职场文书
黄埔军校观后感
2015/06/10 职场文书