PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例


Posted in PHP onJune 09, 2018

本文实例讲述了PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据。分享给大家供大家参考,具体如下:

主要功能是从postgreSql查询数据,并检索,由于自己刚开始接触,所以难点在于多条数据同时筛选并分页显示出来,写下自己的代码与大家共享。

<html>
<head>
<script type="text/javascript">
  /**
 * 分页函数
 * pno--页数
 * psize--每页显示记录数
 * 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数
 * 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能
 **/
function goPage(pno,psize){
  var itable = document.getElementById("idData");
  var num = itable.rows.length;//表格所有行数(所有记录数)
  console.log(num);
  var totalPage = 0;//总页数
  var pageSize = psize;//每页显示行数
  //总共分几页
  if(num/pageSize > parseInt(num/pageSize)){
      totalPage=parseInt(num/pageSize)+1;
    }else{
      totalPage=parseInt(num/pageSize);
    }
  var currentPage = pno;//当前页数
  var startRow = (currentPage - 1) * pageSize+1;//开始显示的行 31
    var endRow = currentPage * pageSize;//结束显示的行  40
    endRow = (endRow > num)? num : endRow;  40
    console.log(endRow);
    //遍历显示数据实现分页
  for(var i=1;i<(num+1);i++){
    var irow = itable.rows[i-1];
    if(i>=startRow && i<=endRow){
      irow.style.display = "block";
    }else{
      irow.style.display = "none";
    }
  }
  var pageEnd = document.getElementById("pageEnd");
  var tempStr = "共"+num+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";
  if(currentPage>1){
    tempStr += "<a href=\"#\" onClick=\"goPage("+(1)+","+psize+")\">首页</a>";
    tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage-1)+","+psize+")\"><上一页</a>"
  }else{
    tempStr += "首页";
    tempStr += "<上一页";
  }
  if(currentPage<totalPage){
    tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage+1)+","+psize+")\">下一页></a>";
    tempStr += "<a href=\"#\" onClick=\"goPage("+(totalPage)+","+psize+")\">尾页</a>";
  }else{
    tempStr += "下一页>";
    tempStr += "尾页";
  }
  document.getElementById("barcon").innerHTML = tempStr;
}
</script>
  <style type="text/css">
    table
     {
     text-align:center;
     width:1000px;
     }
     th
     {
     width:100px;
     }
    input
     {
     width:100px;
     }
    td
     {
     width:100px;
     }
  </style>
  </head>
  <body onLoad="goPage(1,10);">
    <form method="post" action="browes.php">
      <table border="1">
        <tr>
          <th><h2>个人概况一览</h2></th>
        </tr>
        <tr>
          <table border="1" >
            <tr>
              <td>姓:</td>
              <td><input type="text" name="surname">  </td>
              <td>名:</td>
              <td><input type="text" name="name">  </td>
              <td>手机:</td>
              <td><input type="text" name="phone">  </td>
              <td>性别:</td>
              <td><select name="sex" id="select_k1" class="xla_k">
                  <option value=""> </option>
                  <option value="male">男</option>
                  <option value="female">女</option>
                </select>
              </td>
              <td>学校:</td>
              <td><input type="text" name="school">  </td>
            </tr>
          </table>
        </tr>
        <tr>
          <td><input type="submit" name="submit" value="提交"> </td>
          <td><input name=reset type=reset value=重置></td>
        </tr>
      </table>
    </form>
</body>
<body>
    <table id="idData" border="1" >
     <tr>
      <th>照片</th>
      <th>姓名</th>
      <th>性别</th>
      <th>生日</th>
      <th>邮箱</th>
      <th>电话</th>
      <th>学校</th>
      <th>技能</th>
      <th>选项</th>
     </tr>
    <?php
      include "../head.php";
      $s = $_POST["surname"];
      $a = $_POST["name"];
      $b = $_POST["phone"];
      $c = $_POST["sex"];
      $d = $_POST["school"];
/*
下面这段代码是PostgreSQL数据库多条数据检索编写数据库的通用方法
*/
      $field = "where 1 = 1 ";
        if($a){
          //magic_quotes_gpc=on,addslashes not used.
          $name = str_replace('\'', "''", $a);
          $field.= "and (name like '%".$name."%') ";
        }
         if(($s)!=NULL){
          $surname = str_replace('\'', "''", $s);
          $field.= "and (surname like '%".$surname."%') ";
        }
        if(($c)!=NULL){
          $field.= "and (sex = '".$c."') ";
        }
        if(($d)!=NULL){
          $school = str_replace('\'', "''", $d);
          $field.= "and (school like '%".$school."%') ";
        }
        if(($b)!=NULL){
          $tel = str_replace('\'', "''", $b);
          $field.= "and (phone = '".$tel."') ";
        }
        $sql = "select * from worker ".$field;
/*
上面这段代码是PostgreSQL数据库多条数据检索编写数据库的通用方法
*/
      $ret = pg_query($db, $sql);
    while($row=pg_fetch_row($ret)){
    ?>
     <tr>
      <td><?php echo $row[9];?></td>
      <td><?php echo $row[1].$row[2];?></td>
      <td><?php echo $row[3];?></td>
      <td><?php echo $row[4];?></td>
      <td><?php echo $row[5];?></td>
      <td><?php echo $row[6];?></td>
      <td><?php echo $row[7];?></td>
      <td><?php echo $row[8];?></td>
      <td><button><a href = "<?php echo 'change.php?id='.$row[0] ?>">change</button>
        <button><a href = "<?php echo 'delete.php?id='.$row[0] ?>">delete</button></td>
     </tr>
    <?php } ?>
    </table>
    <table >
    <div id="barcon" name="barcon"></div>
    </table>
  </body>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
php合并js请求的例子
Nov 01 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
详解PHP用mb_string处理windows中文字符
May 26 PHP
PHP实现二维数组中的查找算法小结
Jun 09 #PHP
PHP实现链表的定义与反转功能示例
Jun 09 #PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 #PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 #PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 #PHP
Laravel程序架构设计思路之使用动作类
Jun 07 #PHP
laravel手动创建数组分页的实现代码
Jun 07 #PHP
You might like
smarty实例教程
2006/11/19 PHP
一个典型的PHP分页实例代码分享
2011/07/28 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
javascript 节点遍历函数
2010/03/28 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
颁奖典礼主持词
2014/03/25 职场文书
离婚协议书范本样本
2014/08/19 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
担保书格式
2015/01/20 职场文书
环境卫生标语
2015/08/03 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
nginx.conf配置文件结构小结
2022/04/08 Servers