实现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 array_intersect()函数使用代码
Jan 14 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
php实现向javascript传递数组的方法
Jul 27 PHP
解读PHP中上传文件的处理问题
May 29 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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入门速成(2)
2006/10/09 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
设定php简写功能的方法
2019/11/28 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python操作gmail实例
2015/01/14 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
酒店采购员岗位职责
2014/03/14 职场文书
我的求职择业计划书
2014/04/04 职场文书
房地产开发项目建议书
2014/05/16 职场文书
捐助感谢信
2015/01/22 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
idea下配置tomcat避坑详解
2022/04/12 Servers
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL