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


Posted in PHP onOctober 09, 2006

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

<?
  //连接数据库
  $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>";
?>
----------------------------
欢迎访问:zhangcg.oso.com.cn 

PHP 相关文章推荐
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
php写的简易聊天室代码
Jun 04 PHP
利用PHP实现智能文件类型检测的实现代码
Aug 02 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
PHP函数getenv简介和使用实例
May 12 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
PHP脚本的10个技巧(5)
Oct 09 #PHP
打造计数器DIY三步曲(中)
Oct 09 #PHP
打造计数器DIY三步曲(下)
Oct 09 #PHP
打造计数器DIY三步曲(上)
Oct 09 #PHP
PHP脚本的10个技巧(4)
Oct 09 #PHP
聊天室php&amp;mysql(六)
Oct 09 #PHP
PHP脚本的10个技巧(3)
Oct 09 #PHP
You might like
文章推荐系统(三)
2006/10/09 PHP
PHP 输出简单动态WAP页面
2009/06/09 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
在PHP中使用redis
2013/11/04 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
vue ssr 指南详读
2018/06/29 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Django中使用locals()函数的技巧
2015/07/16 Python
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
送给程序员的20个Java集合面试问题
2014/08/06 面试题
服装设计行业个人的自我评价
2013/12/20 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
个人德育工作总结
2015/03/05 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
高中物理教学反思
2016/02/19 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang
maven依赖的version声明控制方式
2022/01/18 Java/Android