实现PHP搜索加分页

分页显示是浏览大量数据的一种方法。对于初学者来说常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。

所有示例代码均使用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程序设计有所帮助。

时间: 2024-09-30 19:49:10

实现PHP搜索加分页的相关文章

实现PHP搜索加分页_php实例

分页显示是浏览大量数据的一种方法.对于初学者来说常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解. 所有示例代码均使用php编写. 所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示. 请详细阅读以下代码,自己调试运行一次,最好把它修改一次,加上自己的功能. $wherelist=array(); $urlist=array(); if(!empty($_GET['title'])) { $w

yii2实现分页,带搜索的分页功能示例

一.模型配置 事例会用到三个models.文章类别表和文章表用gii生成下即可,最后一个是搜索验证模型.其中,只讲下一个联表和搜索验证.其他不用操作. 1.文章表关联 <?php //...other code //关联 public function getCate(){ return $this->hasOne(ArticleCate::className(),['id' => 'cid']); } ?> 2.搜索模型 common/models/search/创建Articl

MVC5 + EF6 + Bootstrap3 (11) 排序、搜索、分页

原文:MVC5 + EF6 + Bootstrap3 (11) 排序.搜索.分页 文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-pagedlist.html  系列教程:MVC5 + EF6 + Bootstrap3 上一节:MVC5 + EF6 + Bootstrap3 (10) 数据查询页面 源码下载:点我下载 目录 前言 排序 搜索 分页 结尾 前言 上一节我们做到了如下的一个基础查询页

MVC5 + EF6 + Bootstrap3 (11) 实现排序、搜索、分页_实用技巧

前言 本节我们向这个页面中加入排序.搜索和分页功能. 排序 从上图中的地址栏中可以看到这个页面调用的是Company Controller下的Index Action.因此我们就先打开Controllers文件夹下的CompanyController.cs文件,写入如下代码: using System.Linq; using System.Web.Mvc; using SlarkInc.DAL; using System; namespace SlarkInc.Controllers { pub

zblog搜索页面美化和搜索结果分页的教程

zblog php的搜索结果页面调用的是单页面,不能自定义,不能分页,丑且不人性化.Search Plus插件可以优化搜索结果页面,支持调用index模板和预留的search模板(前提是主题有),支持搜索词高亮显示,最重要的是列表可以自定义了. zblog php搜索页面美化和搜索结果分页 插件安装: 在应用中心搜索Search Plus直接安装. 修改插件: 1.该插件默认只是优化了搜索界面,但是还不能分页,搜索结果分页还需要修改这个插件: 2.编辑zb_users/plugin/Search

搜索-datatable分页显示有问题,找了半天也没有找到,求指导

问题描述 datatable分页显示有问题,找了半天也没有找到,求指导 用datatable接受后台的数据,一开始数据库里有数据时显示的是 等我搜索的时候就显示不对了,如图 前台代码: $(this.el).append($("#bwrcTwo").html()); bwrc_bwrcTwo_dataTable = $('#bwrcTwoInfoTable').dataTable({ "bInfo" : true,// 显示表格的一些信息 "bSort&q

微软或将为Bing搜索加入网速测试功能

微软Bing(必应)在美国的发展状况很不错,当前在美国的市场份额已经突破了20%,微软自然还在想着新的招数进一步提升其市场表现.这次,微软似乎有打算在Bing搜索引擎里直接加入网速测试功能,即在Bing搜索框中输入"speed test",就可以直接自动进行网速测试了. 国外媒体报道称,这项新特性适用于普通网页版Bing,也适用于针对iPhone版的Bing页面.不过当前,这个测速特性似乎是不可用的,可能微软只是在进行小范围测试,毕竟微软这段时间在尝试着各种工具. 这项特性估计能够为B

搜索结果分页问题

问题描述 想自己弄个搜索引擎就差一个分页的存储过程了要求搜索最贴近的词靠前然后根据词的词重和词的内容排序(3钟排序)哪位大侠给个好用的分页存储过程之前弄的都不好使,不是不能分页,就是数据重复,不排序等问题在线等~~~ 解决方案 解决方案二:自己顶下解决方案三: 解决方案四:友情帮顶~解决方案五:帮顶个咯解决方案六:去小灰姐姐那里看看,他写的那个分页挺好的.解决方案七:createprocedureproce_page@pageSizeint,@pageIndexintasselecttop@pa

乐酷天正式关闭 联合百度的“搜索加购物”模式失败

乐天与百度短暂合作之后,无奈分道扬镳.双方合作的乐酷天商城已于2012年4月27日零时起停止为消费者提供服务. 4月20日下午,乐天集团国际市场负责人江尻裕一递给记者他作为乐酷天CEO的最后一张名片.此前,2点30分,在刚刚结束的乐天集团董事会上下达了一个令他痛苦的决定--一周后乐酷天商城将关闭. 虽然事先约定"乐酷天不仅仅要为消费者提供更多优质的产品和服务,还要为中国广大的中小企业服务,帮助他们分享电子商务市场带来的新机会".但从2010年10月19日上线到2012年4月27日,仅一