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 相关文章推荐
详解:――如何将图片储存在数据库里
Dec 05 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
php过滤XSS攻击的函数
Nov 12 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
微信支付的开发流程详解
Sep 13 PHP
PHP实现上传图片到 zimg 服务器
Oct 19 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
PHP使用非对称加密算法RSA
Apr 21 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
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
PHP eval函数使用介绍
2013/12/08 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
浅谈javascript 面向对象编程
2009/10/28 Javascript
js中replace的用法总结
2013/12/27 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
浅谈Python中的私有变量
2018/02/28 Python
彻底理解Python中的yield关键字
2019/04/01 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
会计专业推荐信
2013/10/29 职场文书
酒店个人培训自我鉴定
2013/12/11 职场文书
个人党性剖析材料
2014/02/03 职场文书
主题班会演讲稿
2014/05/22 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript