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


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 09 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
Nov 18 PHP
php生成html文件方法总结
Dec 01 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
PHP Web表单生成器案例分析
Jun 02 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
用session做客户验证时的注意事项
2006/10/09 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
看了就知道什么是JSON
2007/12/09 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
js调用图片隐藏&amp;显示实现代码
2013/09/13 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
python简单实现获取当前时间
2016/08/27 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
升职自荐信范文
2013/10/05 职场文书
小学教师国培感言
2014/02/08 职场文书
社区活动总结
2015/02/04 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书