亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SqlHelper類怎么在php中使用

發布時間:2021-04-02 17:05:06 來源:億速云 閱讀:194 作者:Leah 欄目:開發技術

SqlHelper類怎么在php中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

文檔目錄結構如下:

SqlHelper類怎么在php中使用

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'>&lt;</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'>&gt;</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代碼如下:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="paging-list-link.css">
</head>
<body>
<?php
header("Content-type:text/html;charset=utf-8;");
require_once 'Paging.php';
$paging=new Paging();
//參數說明
/*
 * $table 分頁時對那個表的數據分頁
 * $id 輔助查詢當前分頁的數據表的總記錄數
 * $pageSize 每頁顯示多少條信息記錄數
 * $pagingSize 分頁欄每次循環顯示出來的個數
 * $nowPage 當前是第幾頁,默認第一頁
 * $href 分頁欄的超鏈接將要往哪里連接,當前頁鏈接地址
 */
//控制起始頁為
$nowPage=1;
if(isset($_GET["nowPage"])){
  $nowPage=$_GET["nowPage"];
}
//定義分頁所需參數
$meiyexiansi=10;
$meiyelianjieshu=10;
$receiveArr=array();
$receiveArr=$paging->paging_prev_next("city","ID",$meiyexiansi,$meiyelianjieshu,$nowPage,"usePaging.php");
//容錯判斷
if(!$receiveArr){
  return;
}
//查詢每頁需要顯示的數據,大小限制存在 $receiveArr 數組中
$sqlHelper=new SqlHelper();
$result=$sqlHelper->execute_dql_num("select * from city limit ".$receiveArr['start'].",".$receiveArr['limit']."");
echo "<pre>";
print_r($result);
echo "</pre>";
?>
</body>
</html>

所使用的數據庫為 MySQL5.6 所自帶的 world 數據庫

下面是運行的效果截圖:

不過代碼還有個 Bug 。就是翻頁到最后的時候會出現顯示不了,原因在于 Paging.php 文件的 41~43  行左右判斷有問題。

錯誤代碼如下:

if($nowPage>$this->pageCount || $nowPage<=0){
  return false;
}

SqlHelper類怎么在php中使用

SqlHelper類怎么在php中使用

SqlHelper類怎么在php中使用

看完上述內容,你們掌握SqlHelper類怎么在php中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新兴县| 敦化市| 那坡县| 淳化县| 资溪县| 邵阳市| 荆门市| 丹江口市| 曲阳县| 扎鲁特旗| 临江市| 万载县| 临颍县| 台北县| 金湖县| 远安县| 象州县| 乃东县| 富平县| 册亨县| 霍林郭勒市| 泗水县| 光山县| 资中县| 清水县| 凯里市| 永城市| 浠水县| 福安市| 西乌| 杭州市| 无极县| 东丽区| 南澳县| 长岭县| 墨竹工卡县| 甘洛县| 厦门市| 攀枝花市| 新化县| 西宁市|