PHP复杂检索数据并分页显示的处理方法

 

系统标题:复杂检索数据并分页显示的处理方法
系统功能:利用临时表检索数据库数据,然后分页显示的方法:
处理方法:采用临时表存放数据中间结果,根据中间结果显示数据
数据的显示采用隔行的方式处理
处理优点:对于复杂的查询,特别是涉及到多表的数据查询,如果直接使用查询条件,系统的
开销将很大,利用临时表把数据先保存,然后处理。这样对数据库的查询只要开销一次。
使用方法:只要把连接数据库的用户信息和数据表改变即可使用

<?
//连接数据库
$dbh = mysql_connect('localhost:3306','root','');
mysql_select_db('test');

//把数据检索的结果保存到临时表中
$ls_sql = ' create temporary table temps ';
$ls_sql .= ' select lk_title,lk_link from lk_t_content ';
$ls_sql .= " where lk_title like '%".$searchcontent."%' ";
$res = mysql_query($ls_sql, $dbh);

//得到检索数据的总数
$ls_sql = 'select count(*) as rcnt_con from temps ';
$res = mysql_query($ls_sql, $dbh);
$rcon = $row["rcnt_con"];

$pages=ceil($rcon / 20); //$pages变量现在总的页数
if (empty($offset)) {
$offset=1;
$curline = 0;
} else
$curline = ($offset - 1) * 20;
//打印表头
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%"> <div align="center">';
if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接
$newoffset=$offset - 1;
print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";
} else {
print "前一页";
print " ";
}
//显示所有的页数
for ($i=1; $i <= $pages; $i++) {
$temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
print $temps;
print " ";
}
//检查是否是最后一页
if ($pages!=0 && $offset!=$pages) {
$newoffset=$offset+1;
print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";
} else print "下一页";
print '</div> </td>';
print '<td width="50%"> <div align="center">';
print "当前页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";

//显示查询信息
print '<table width="100%" border="1">';
print '<tr class="text"> ';
print '<td width="100%"> <div align="center">查询结果信息</div> </td>';
print '</tr>';

$query = "select lk_title,lk_link from temps order by lk_title desc LIMIT ".$curline.",20";
$res = mysql_query($query, $dbh);

$li_num = 0;
while ($row = mysql_fetch_array($res)) {
//采用隔行显示的方法显示信息内容
if ($li_number == 0) {
<tr bgcolor="#dedede">
$li_number = 1;
} else {
<tr bgcolor="#ededed">
$li_number = 0;
}
$tempstr = "<a href='".$row[lk_link]."'>".$row['lk_title']."</a>";
print '<td width="100%" height="15" class="text"> '.$tempstr.'</td>';
print '</tr>';
}
print "</table>";
?>

时间: 2024-10-02 13:09:49

PHP复杂检索数据并分页显示的处理方法的相关文章

复杂检索数据并分页显示的处理方法

系统标题:复杂检索数据并分页显示的处理方法 系统功能:利用临时表检索数据库数据,然后分页显示的方法: 处理方法:采用临时表存放数据中间结果,根据中间结果显示数据           数据的显示采用隔行的方式处理 处理优点:对于复杂的查询,特别是涉及到多表的数据查询,如果直接使用查询条件,系统的           开销将很大,利用临时表把数据先保存,然后处理.这样对数据库的查询只要开销一次. 使用方法:只要把连接数据库的用户信息和数据表改变即可使用         <?   //连接数据库   

复杂检索数据并分页显示的处理方法_php基础

系统标题:复杂检索数据并分页显示的处理方法 系统功能:利用临时表检索数据库数据,然后分页显示的方法: 处理方法:采用临时表存放数据中间结果,根据中间结果显示数据           数据的显示采用隔行的方式处理 处理优点:对于复杂的查询,特别是涉及到多表的数据查询,如果直接使用查询条件,系统的           开销将很大,利用临时表把数据先保存,然后处理.这样对数据库的查询只要开销一次. 使用方法:只要把连接数据库的用户信息和数据表改变即可使用 <?   //连接数据库   $dbh =  

在JSP页面中实现检索数据的分页显示

js|分页|数据|显示|页面     在页面中,当检索的数据很多时,通常需要分页显示数据,并要实现翻页. 下面将通过一些例程来说明实现JSP页面翻页技术的实现. 首先,在JSP中,通过JAVA servlet 来检索数据,而用JSP来调用结果来显示. 因而,此技术可分为两个部分(依赖关系): 1. 在服务器端的servlet 中的实现 要点: &将查询条件保存到session中,取session中的查询条件 &设置Statement对象的MaxRows(确定一页显示多少行数据) &

extjs怎样将从oracle数据库获取到的数据进行分页显示?

问题描述 extjs怎样将从oracle数据库获取到的数据进行分页显示? extjs怎样将从oracle数据库获取到的数据进行分页显示? 解决方案 前台传回是第几页数据,后台查询结果返回OK 解决方案二: rownum between 1 and n 解决方案三: 是用jsp之类的东西读oracle数据库,然后生成extjs需要的json格式的数据返回给extjs加载,extjs无法直接加载oracle数据 http://blog.csdn.net/yizhiduxiu11/article/de

jquery插件-jquery.bootgrid插件如何实现数据的分页显示,求一个简单地小例子~~

问题描述 jquery.bootgrid插件如何实现数据的分页显示,求一个简单地小例子~~ 感觉它是一个非常不错的数据分页显示框架,希望能够学会,可是在网上没有查到类似的资料,大家有用过的吗? 解决方案 http://www.jquery-bootgrid.com/Examples 解决方案二: 这个我看过了,但是代码不全,有部分不知道怎么写

对数据进行分页显示到table中的实现方法_java

我最先用jframe编程的时候写的比较简单,只是先查询到所有记录,再根据当前页码筛选出当前页的记录,返回的小集合可以直接显示到table上. import java.util.ArrayList; import java.util.List; import com.yu.entity.User; public class PageController { private List<User> bigList=new ArrayList<User>(); //大集合,从外界获取 pr

ASP中关于帖子分页显示的基本方法

ASP中关于帖子分页显示的基本方法 在了解了Recordset对象的以上属性和方法后,我们来考虑一下,如何运用它们来达到我们分页显示的目的.首先,我们可以为PageSize属性设置一个值,从而指定从记录组中取出的构成一个页的行数:然后通过RecordCount属性来确定记录的总数:再用记录总数除以PageSize就可得到所显示的页面总数:最后通过AbsolutePage属性就能完成对指定页的访问.好象很并不复杂呀,下面让我们来看看程序该如何实现呢? 我们建立这样一个简单的BBS应用程序,它的数据

php遍历、读取文件夹中图片并分页显示图片的方法_php技巧

本文实例讲述了php遍历.读取文件夹中图片并分页显示图片的方法.分享给大家供大家参考,具体如下: 引子:我的网站图片目录images下有若干图片如1.jpg.2.jpg.3.jpg.--.n.jpg.1.gif.2.gif.3.gif.--.n.gif,要求在该images目录下建一个index.php文件,使得该文件分页显示images目录下的所有图片. 下面是我想到的办法.不知道有没有更好的办法.呵呵...在图片文件夹images下面建一个index.php文件,内容如下: <?php ec

JDBC操作 SQL SERVER之数据的分页显示

  <%@ page language="java" contentType="text/html; charset=gb2312"%> <%@ page import="java.sql.*" %> <%      try {       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; } catch(ClassNotFoundException