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


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 处理图片的类实现代码
Oct 23 PHP
PHP自定义函数收代码
Aug 01 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
PHP连接MSSQL方法汇总
Feb 05 PHP
PHP与Perl之间知识点区别整理
Mar 19 PHP
Laravel 6.2 中添加了可调用容器对象的方法
Oct 22 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 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
PHP开发入门教程之面向对象
2006/12/05 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
基于iview的router常用控制方式
2019/05/30 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
Python 除法小技巧
2008/09/06 Python
Python collections模块实例讲解
2014/04/07 Python
Python 文件管理实例详解
2015/11/10 Python
Python标准库sched模块使用指南
2017/07/06 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
python线程中同步锁详解
2018/04/27 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
Numpy之reshape()使用详解
2019/12/26 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
python requests.get带header
2020/05/05 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
Python自动化操作实现图例绘制
2020/07/09 Python
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
广告词串烧
2014/03/19 职场文书
招股说明书范本
2014/05/06 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS