首頁 後端開發 php教程 一個可查詢所有表格的「通用」查詢分頁類別_PHP教程

一個可查詢所有表格的「通用」查詢分頁類別_PHP教程

Jul 21, 2016 pm 04:09 PM
分頁 查詢 類別 一般


一個可查詢所有資料表的「通用」查詢分頁類 最近突發奇想,希望寫出一個可以針對所有表格的查詢分頁類別。因為在實際的開發中,恐怕查詢並將結果集分頁顯示是用得最多的程式碼,而表的結構是多樣的,我想盡可能地提高程式碼的重用率和維護性。
以下是我寫的,請各位加以指點,測試,看能否進行更好的改進和更多的支持。
目前還只支援單一的表,不支援聯合查詢。但未來可以會考慮如何支持。

代碼:
/**************************************************** ************
這個類別主要是解決針對許多表格的簡單資料查詢,還在完善中。希望廣大網友多提意見與建議。

我的目的是開發出一個幾乎可以適用於所有mysql表的查詢並將結果集分頁的類別。
可以自動辨識查詢中要顯示的欄位值。

在此,特別聲明,要感謝chinaunix的朋友,特別是PHP版的網友們長期以來給我的幫助。
特別要提的是NightKids,一直以來,他都給了我無私的幫助,甚至是他的原始碼。

這個類別可以被任何人自由引用,使用,修改。但請保留這段文字。
使用這個類造成的一切損失,都與作者tonera無關。

我還在考慮,對於一些複雜的聯合查詢,可以衍生一個類,重新建構sql實作。
這個類別沒有考慮更多的顯示風格,你可以自己建構。
*********************************************** ******************/
class browser{
   var $c_table;   //要查詢的表名
$ c_rows;   //要顯示的行數
   var $c_lation;   //查詢的條件
   var $c_order;   //排序的條件
   var $c_order;   //排序的條件
   var $c_order;   //排序的條件
  var $c柄_res var $c_query;   //最終構造的查詢
   var $c_found;   //結果集
   var $c_error;   //錯誤收集器
   var $c_error;   //錯誤收集器
   var $c_/set >   var $total;      //結果集的總數

   //連接資料庫
   function connect(){
  php connection==false){
         $this->c_error.="沒有連接上資料庫。
";
         exit 🠜>             🎜 >   }

   //建構函數,初始化變數
   function browser($tablename,$row,$sql,$lation,$orderby){
 🎜>      $this->c_rows=$row;
      if(empty($this->c_offset)){
      if (empty($tablename ) or empty($row) or empty($sql)){
         $this->c_error="沒有查詢的表或沒有批次顯示多少行或沒有查詢語句
";
    🎜>      $this->c_query=$sql;
      if (!empty($lation)){
         if (! empty($orderby)){
         $this->c_query.=" ".$orderby;
      }
   }       $sult=mysql_query("select count(*) as 'total_rows' from $this->c_table",$this->c_result);
      if ($sult==false)
      if ($sult==false) c_error.="計算結果集總數目的查詢失敗,請檢查。
";
         exit;
      }
      $tempvar=mysql_fetch_array($sult); 🎜>
   //查詢取得結果集,存入陣列c_found[][]中
   function GetFound(){
      $sult=mysql_query($this->c_query,$0->c_result) =mysql_query($this->c_query,$0->c ));
      while ($found=mysql_fetch_array($sult)){
         $this->c_found[  //查詢數據,結果分頁存入一個變數
   function ShowTable(){

      $this->connect();
     $this->TatolPage()          $_GET[offset]=0;
      }
      $->pmit,$$->p. this->c_rows;
      $sult=mysql_query($this->c_query,$this->c_result) or die(mysql_error());

    值
      $tempvar=explode(" ",$this->c_query);
      $fields=explode(",",$tempvar[1]);   ////欄位值(數組值>      //顯示資料到一個表格
      $echo_content.="

";
      while($found=@mysql_arra content. ="";
         //顯示使用者指定的字段,此處需要仔細觀看
         for($i=2;$i";
         }
         >      //分頁
      if ($this->c_rows==0){
         $   }
      $total_page=ceil($this->total/$this->c_rows);
      $pre_page=$_GET[offset]-$ nex_page=$_GET[offset] $this->c_rows;
      //顯示上一頁
      if ($pre_page>=0){
>上頁&";
      }else{
        $echo_content.="
";
      }else{
         $echo_content.="&下頁";
      }
      $echo_content.="
";
         $echo_content.="".$found[1]."
頁&";
      }
      //顯示頁碼
      for($i=1;$i >c_rows==($i-1)){
            $echo_content.="&第".$i."頁&";
    =$PHP_SELF?offset=".($i-1)*$this->c_rows.">".$i."&";
         }
    下一頁
      if ($nex_page!=0 and ($_GET[offset] $this->c_rows)total){
         $echo_content.="&下頁
";
      return $echo_content;



/*範例
//browser("表名",每頁顯示的數目,"sql","查詢條件","排序條件");
$gggg=new browser ("news",5,"select auto_id,news_title from news","","order by newstime desc");

$temp=$gggg->ShowTable();
echo $temptemp ;

//$gggg->GetFound()是將查詢結果集存在一個二維陣列裡,本例中沒有用到。
*/
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314651.htmlTechArticle一個可查詢所有表的「通用」查詢分頁類最近突發奇想,寫出一個可以針對所有希望寫出一個可以針對所有表的查詢分頁類。因為在實際的開發中,恐怕查詢並將...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

12306怎麼查詢歷史購票紀錄 查看歷史購票紀錄的方法 12306怎麼查詢歷史購票紀錄 查看歷史購票紀錄的方法 Mar 28, 2024 pm 03:11 PM

12306訂票app下載最新版是一款大家非常滿意的出行購票軟體,想去哪裡就去那裡非常方便,軟體內提供的票源非常多,只需要通過實名認證就能在線購票,所有用戶的出行車票機票都可以輕鬆買到,享受不同的優惠折扣。還能提前開啟預約搶票,預約飯店、專車接送都是可以的,有了它想去哪裡就去那裡一鍵購票,出行更加簡單方便,讓大家的出行體驗更舒服,現在小編在線詳細為12306用戶帶來查看歷史購票記錄的方法。  1.打開鐵路12306,點擊右下角我的,點擊我的訂單  2.在訂單頁面點擊已支付。  3.在已支付頁

學信網如何查詢自己的學歷 學信網如何查詢自己的學歷 Mar 28, 2024 pm 04:31 PM

學信網如何查詢自己的學歷?在學信網中是可以查詢到自己的學歷,很多用戶都不知道如何在學信網中查詢到自己的學歷,接下來就是小編為用戶帶來的學信網查詢自己學歷方法圖文教程,感興趣的用戶快來一起看看吧!學信網使用教程學信網如何查詢自己的學歷一、學信網入口:https://www.chsi.com.cn/二、網站查詢:第一步:點選上方學信網位址,進入首頁點選【學歷查詢】;第二步:在最新的網頁中點選如下圖箭頭所示的【查詢】;第三步:之後在新頁面點選【的登陸學信檔案】;第四步:在登陸頁面輸入資料點選【登陸】;

MySQL與PL/SQL的異同比較 MySQL與PL/SQL的異同比較 Mar 16, 2024 am 11:15 AM

MySQL與PL/SQL是兩種不同的資料庫管理系統,分別代表了關係型資料庫和過程化語言的特性。本文將比較MySQL和PL/SQL的異同點,並附帶具體的程式碼範例進行說明。 MySQL是一種流行的關聯式資料庫管理系統,採用結構化查詢語言(SQL)來管理和操作資料庫。而PL/SQL是Oracle資料庫特有的過程化語言,用於編寫預存程序、觸發器和函數等資料庫物件。相同

蘋果手機怎麼查詢啟動日期 蘋果手機怎麼查詢啟動日期 Mar 08, 2024 pm 04:07 PM

使用蘋果手機想要查詢啟動日期,最好的方法是透過手機中的序號來查詢,也可以透過存取蘋果的官網來進行查詢,透過連接電腦查詢,下載第三方軟體查詢。蘋果手機怎麼查詢啟動日期答:序號查詢,蘋果官網查詢,電腦查詢,第三方軟體查詢1、用戶最好的方式就是知道自己手機的序號,開啟設定通用關於本機就可以看到序號。 2.使用序號不僅可以知道自己手機的啟動日期,還可以查看手機版本,手機產地,手機出廠日期等。 3.用戶訪問蘋果的官網找到技術支持,找到頁面底部的服務和維修欄目,裡面查看iPhone的激活信息。 4.用戶

如何使用Oracle 查詢表是否被鎖? 如何使用Oracle 查詢表是否被鎖? Mar 06, 2024 am 11:54 AM

標題:如何使用Oracle查詢表格是否被鎖定?在Oracle資料庫中,表鎖是指當一個事務正在對錶執行寫入操作時,其他事務想要對該表執行寫入操作或對表進行結構改變(如增加列、刪除行等)時會被阻塞。在實際開發過程中,我們經常需要查詢表格是否被鎖,以便更好地排除和處理相關問題。本文將介紹如何使用Oracle語句查詢表格是否被鎖,並給出具體的程式碼範例。要查詢表是否被鎖,我們

Discuz資料庫位置查詢技巧分享 Discuz資料庫位置查詢技巧分享 Mar 10, 2024 pm 01:36 PM

論壇是網路上非常常見的網站形式之一,它為使用者提供了一個分享資訊、交流討論的平台。而Discuz是一款常用的論壇程序,相信很多站長都已經非常熟悉了。在進行Discuz論壇的開發和管理過程中,經常需要查詢資料庫中的資料來進行分析或處理。在這篇文章中,我們將分享一些查詢Discuz資料庫位置的技巧,並提供具體的程式碼範例。首先,我們需要了解Discuz的資料庫結構

PHP數組分頁的最佳實作方式 PHP數組分頁的最佳實作方式 May 04, 2024 pm 02:39 PM

PHP陣列分頁有兩種最常見的方式:使用array_slice()函數:計算要跳過的元素數量,然後提取指定範圍的元素。使用內建迭代器:實作Iterator接口,rewind()、key()、current()、next()和valid()方法用於遍歷指定範圍內的元素。

如何查詢BitTorrent幣最新價格? 如何查詢BitTorrent幣最新價格? Mar 06, 2024 pm 02:13 PM

查詢BitTorrent幣(BTT)最新價格BTT是TRON區塊鏈上的加密貨幣,用於獎勵BitTorrent網路用戶分享和下載檔案。尋找BTT最新價格的方法如下:選擇一個可靠的價格查詢網站或應用程式。一些常用的價格查詢網站包括:CoinMarketCap:https://coinmarketcap.com/Coindesk:https://www.coindesk.com/幣安:https://www.binance.com/在網站或應用程式中搜尋BTT。查看BTT的最新價格。注意:加密貨幣價格

See all articles