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


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下读取文本文件的代码
Jul 02 PHP
PHP 数组排序方法总结 推荐收藏
Jun 30 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
Jul 25 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
深入理解PHP内核(一)
Nov 10 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
php 数据结构之链表队列
Oct 17 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 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 创建标签云函数代码
2010/05/26 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
JS解析url查询参数的简单代码
2017/08/06 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python实现的端口扫描功能示例
2018/04/08 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
解决python replace函数替换无效问题
2020/01/18 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
自我评价优秀范文分享
2013/11/30 职场文书
研究生求职推荐信范文
2013/11/30 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript