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 相关文章推荐
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
ThinkPHP写第一个模块应用
Feb 20 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
总结PHP中数值计算的注意事项
Aug 14 PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
YII2.0框架行为(Behavior)深入详解
Jul 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
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
$.ajax json数据传递方法
2008/11/19 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
详解Python做一个名片管理系统
2019/03/14 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
ipython和python区别详解
2019/06/26 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
python编写微信公众号首图思路详解
2019/12/13 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
考试作弊万能检讨书
2014/10/19 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
十七岁的单车观后感
2015/06/12 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL
nginx之内存池的实现
2022/06/28 Servers