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


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 MYSQL 数据备份类
Jun 19 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
thinkphp控制器调度使用示例
Feb 24 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
PHP与Java对比学习日期时间函数
Jul 03 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
PHP获取MySQL执行sql语句的查询时间方法
Aug 21 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
php中关于换行的实例写法
2019/09/26 PHP
不安全的常用的js写法
2009/09/15 Javascript
js 居中漂浮广告
2010/03/21 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
JS实现星星海特效
2019/12/24 Javascript
vue接口请求加密实例
2020/08/11 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
简述Python中的面向对象编程的概念
2015/04/27 Python
方正Java笔试题
2014/07/03 面试题
会计自我鉴定
2014/02/04 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
消防工作实施方案
2014/06/09 职场文书
拉歌口号大全
2014/06/13 职场文书
横幅标语大全
2014/06/17 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript