实现PHP搜索加分页

 更新时间:2016年10月12日 14:35:38   作者:phpmaster   我要评论
本文实现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程序设计有所帮助。

相关文章

  • asp.net 组合模式的一个例子

    asp.net 组合模式的一个例子

    asp.net 组合模式的一个例子,方便学习asp.net的朋友作为参考
    2012-11-11
  • php 在线导入mysql大数据程序

    php 在线导入mysql大数据程序

    我想很多人经常会用phpmyadmin进行数据的导入与导出,但是在很多使用虚拟主机的情况下,导出没什么问题但是导入就存在很大的问题了,我想这里我也不多说了都会知道了.好了我们现在来看看php把mysql金沙国际官网里面的数据导入程序吧.
    2015-06-06
  • ThinkPHP中I(),U(),$this->post()等函数用法

    ThinkPHP中I(),U(),$this->post()等函数用法

    这篇文章主要介绍了ThinkPHP中I(),U(),$this->post()等函数用法,简单分析了ThinkPHP处理表单的常用函数使用方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 详解PHP使用Redis存储session时的一个Warning定位

    详解PHP使用Redis存储session时的一个Warning定位

    本篇文章主要介绍了PHP使用Redis存储session时的一个Warning定位,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • laravel中数据显示方法(默认值和下拉option默认选中)

    laravel中数据显示方法(默认值和下拉option默认选中)

    今天小编就为大家分享一篇laravel中数据显示方法(默认值和下拉option默认选中),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Apache PHP MySql安装配置图文教程

    Apache PHP MySql安装配置图文教程

    这篇文章主要以图文结合的方式为大家详细介绍了Apache PHP MySql安装配置教程,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • php中file_exists函数使用详解

    php中file_exists函数使用详解

    本文给大家讲解的是php中判断文件或者目录是否存在的file_exists函数,附上几个经典示例,有需要的小伙伴可以参考下。
    2015-05-05
  • CI框架整合smarty步骤详解

    CI框架整合smarty步骤详解

    这篇文章主要介绍了CI框架整合smarty步骤,结合实例形式详细分析了CI框架中Smarty的配置技巧与调用方法,需要的朋友可以参考下
    2016-05-05
  • smarty内置函数capture用法分析

    smarty内置函数capture用法分析

    这篇文章主要介绍了smarty内置函数capture用法,实例分析了capture的三种常见用法,需要的朋友可以参考下
    2015-01-01
  • 使用PHP编写发红包程序

    使用PHP编写发红包程序

    微信发红包是最近非常火的一件事情,大家或多或少的都发过或者收到过红包,那么下面来看一个我们在生活中常碰到的一个php实现微信红包的程序算法,希望这个程序对各位做微信开的朋友会带来帮助.
    2015-07-07

最新评论