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


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版(5)
Oct 09 PHP
PHP中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
Yii2中datetime类的使用
Dec 17 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 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
php5 图片验证码实现代码
2009/12/11 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
python计数排序和基数排序算法实例
2014/04/25 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
幼儿园园长自我鉴定
2013/10/22 职场文书
初入社会应届生求职信
2013/11/18 职场文书
运动会方阵解说词
2014/02/12 职场文书
2014年个人委托书范本
2014/10/13 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
物业公司管理制度
2015/08/05 职场文书
高中班主任寄语
2019/06/21 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS