微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php中分页及SqlHelper类用法实例

PHP实战:PHP分页sqlHelper类用法实例》要点:
本文介绍了PHP实战:PHP分页sqlHelper类用法实例,希望对您有用。如果有疑问,可以联系我们。

PHP学习本文实例讲述了PHP分页sqlHelper类用法.分享给大家供大家参考,具体如下:

文档目录结构如下:

PHP实战:php中分页及SqlHelper类用法实例

sqlHelper.PHP代码如下:


<?PHP
/**
 * Created by JetBrains PHPStorm.
 * User: lee
 * Date: 13-7-26
 * Time: 下午8:30
 * To change this template use File | Settings | File Templates.
 */
class sqlHelper{
  private $MysqLi;
  private static $host="localhost";
  private static $user="root";
  private static $pwd="";
  private static $db="world";
  private $sql=false;
  private $result=false;
  function __construct(){
    $this->MysqLi=new MysqLi(self::$host,self::$user,self::$pwd,self::$db);
    if($this->MysqLi->connect_error){
      die("连接数据库失败! ".$this->MysqL->connect_error);
    }
    $this->MysqLi->query("set names utf8");
  }
  function execute_dql_all($sql){
    //执行查询语句
    $arr=array();
    $this->result=$this->MysqLi->query($sql) or die ($this->MysqL->connect_error);
    //将数据转存到$arr数组中
    while($row=MysqLi_fetch_array($this->result,MysqL_BOTH)){
      $arr[]=$row;
    }
    $this->result->free();
    return $arr;
  }
  function execute_dql_num($sql){
    //执行查询语句
    $arr=array();
    $this->result=$this->MysqLi->query($sql) or die ($this->MysqL->connect_error);
    //将数据转存到$arr数组中
    while($row=MysqLi_fetch_array($this->result,MysqLI_NUM)){
      $arr[]=$row;
    }
    $this->result->free();
    return $arr;
  }
  function execute_dql_assoc($sql){
    //执行查询语句
    $arr=array();
    $this->result=$this->MysqLi->query($sql) or die ($this->MysqL->connect_error);
    //将数据转存到$arr数组中
    while($row=MysqLi_fetch_array($this->result,MysqLI_ASSOC)){
      $arr[]=$row;
    }
    $this->result->free();
    return $arr;
  }
  //查询某表中的记录数
  function execute_dql_counts($table,$id="*"){
    $this->sql="select count($id) from $table";
    $this->result=$this->MysqLi->query($this->sql);
    $row=MysqLi_fetch_all($this->result);
    $this->result->free();
    return $row[0][0];
  }
  function execute_dml($sql){
    //执行正删改
    $this->result=$this->MysqLi->query($sql);
    if(!$this->result){
      return -1;//执行正删改失败
    }else{
      if($this->MysqLi->affected_rows>0){
        return 1;//执行正删改成功,影响行数
      }else{
        return 0;//执行正删改成功,但没有影响行数
      }
    }
  }
}

Paging.PHP代码如下:


<?PHP
/**
 * Created by JetBrains PHPStorm.
 * User: lee
 * Date: 13-7-27
 * Time: 下午2:48
 * To change this template use File | Settings | File Templates.
 */
header("Content-type:text/html;charset=utf-8;");
require_once("sqlHelper.PHP");
class Paging {
  private $sqlHelper=false;
  private $pageCount=false;//页数
  private $counts=false;//总记录数
  private $returnArr=false;//分页链接分页
  function __construct(){
    $this->sqlHelper=new sqlHelper();
    $this->returnArr=array();
  }
  /*
   * 参数说明
   *
   * $table 分页时对那个表的数据分页
   * $id 辅助查询当前分页的数据表的总记录数
   * $pageSize 每页显示多少条信息记录数
   * $pagingSize 分页栏每次循环显示出来的个数
   * $NowPage 当前是第几页,认第一页
   * $href 分页栏的超链接将要往哪里连接
   */
  function paging_prev_next($table,$id="*",$pageSize,$pagingSize,$NowPage=1,$href){
    $this->counts=$this->sqlHelper->execute_dql_counts($table,$id);
    $this->pageCount=ceil($this->counts/$pageSize);
    $this->returnArr["count"]=$this->counts;
    $this->returnArr["start"]=($NowPage-1)*$pageSize;
    $this->returnArr["limit"]=$pageSize;
    if($NowPage>$this->pageCount || $NowPage<=0){
      return false;
    }
    $t=(ceil($NowPage/$pagingSize)-1)*$pagingSize+1;
    $pre=$NowPage-$pagingSize;
    $nex=$NowPage+$pagingSize;
    echo "
      <span class='paging-list-a paging-list-a-withBg'>{$NowPage}/{$this->pageCount}</span>
      <a href='{$href}?NowPage={$pre}' class='paging-list-a'><</a>";
    for($i=$t;$i<$t+$pagingSize;$i++){
      if($i*$pageSize>$this->pageCount*$pageSize){
        break;
      }else{
        if($NowPage==$i){
          echo "
          <a href='{$href}?NowPage={$i}' class='paging-list-a paging-list-a-withBg'>{$i}</a>";
        }else{
          echo "
          <a href='{$href}?NowPage={$i}' class='paging-list-a'>{$i}</a>";
        }
      }
    }
    echo "
      <a href='{$href}?NowPage={$nex}' class='paging-list-a'>></a>";
    return $this->returnArr;
  }
}

paging-list-link.css代码如下:


/**
 * Created by JetBrains PHPStorm.
 * User: lee
 * Date: 13-7-27
 * Time: 下午5:56
 * To change this template use File | Settings | File Templates.
 */
.paging-list-a{
  border:1px solid #b5b5af;
  background-color:#efebed;
  font-family: 'Meiryo UI';
  font-size: 16px;
  font-weight: 600;
  padding: 0px 8px 0px 8px;
  /*cursor: pointer;*/
  text-decoration: none;
  color: #292927;
}
.paging-list-a-withBg{
  background-color: #1D92E2;
  color: white;
}

usePaging.PHP代码如下:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐