实现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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
php循环检测目录是否存在并创建(循环创建目录)
Jan 06 PHP
深入php数据采集的详解
Jun 02 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
php支持断点续传、分块下载的类
May 02 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
php7 图形用户界面GUI 开发示例
Feb 22 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 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
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
php通过各种函数判断0和空
2020/07/04 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
python图像处理之反色实现方法
2015/05/30 Python
python中使用print输出中文的方法
2018/07/16 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
医科大学毕业生自荐信
2014/02/03 职场文书
经济信息系毕业生自荐信范文
2014/03/15 职场文书
网络优化专员求职信
2014/05/04 职场文书
入党综合考察材料
2014/06/02 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
法律意见书范本
2015/06/04 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android
全网非常详细的pytest配置文件
2022/07/15 Python