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


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中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
一些php技巧与注意事项分析
Feb 03 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
PHP 断点续传实例详解
Nov 11 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 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 验证图片生成函数
2009/05/21 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
node.js监听文件变化的实现方法
2019/04/17 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python 探针的实现原理
2016/04/23 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
parser.add_argument中的action使用
2020/04/20 Python
python实现感知机模型的示例
2020/09/30 Python
python实现计算器简易版
2020/12/17 Python
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
应聘教师自荐信
2013/10/12 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
2015年班干部工作总结
2015/04/29 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
党员发展大会主持词
2015/07/03 职场文书
oracle重置序列从0开始递增1
2022/02/28 Oracle