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


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 相关文章推荐
example2.php
Oct 09 PHP
PHP define函数的使用说明
Aug 27 PHP
PHP集成FCK的函数代码
Sep 27 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
PHP中类与对象功能、用法实例解读
Mar 27 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
php读取excel文件的简单实例
2013/08/26 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
解决python报错MemoryError的问题
2018/06/26 Python
python远程邮件控制电脑升级版
2019/05/23 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
会话Bean的种类
2013/11/07 面试题
机械工程系毕业生求职信
2013/09/27 职场文书
学术会议欢迎词
2014/01/09 职场文书
公司员工体检通知
2015/04/21 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
修辞手法有哪些?
2019/08/29 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
JS实现简单的九宫格抽奖
2022/06/28 Javascript