国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah pembangunan bahagian belakang tutorial php 一個(gè)可查詢所有表的“通用”查詢分頁類_PHP教程

一個(gè)可查詢所有表的“通用”查詢分頁類_PHP教程

Jul 21, 2016 pm 04:09 PM
penomboran boleh Pertanyaan daripada baik hati permukaan Sejagat


一個(gè)可查詢所有表的“通用”查詢分頁類 最近突發(fā)奇想,希望寫出一個(gè)可以針對(duì)所有表的查詢分頁類。因?yàn)樵趯?shí)際的開發(fā)中,恐怕查詢并將結(jié)果集分頁顯示是用得最多的代碼,而表的結(jié)構(gòu)是多樣的,我想盡可能地提高代碼的重用率和維護(hù)性。
以下是我寫的,請(qǐng)各位加以指點(diǎn),測(cè)試,看能否進(jìn)行更好的改進(jìn)和更多的支持。
目前還只支持單一的表,不支持聯(lián)合查詢。但未來可以會(huì)考慮如何支持。

代碼:
/****************************************************************
這個(gè)類主要是解決針對(duì)很多表的簡(jiǎn)單數(shù)據(jù)查詢,還在完善中。希望廣大網(wǎng)友多提意見和建議。

我的目的是開發(fā)出一個(gè)幾乎可以適用于所有mysql表的查詢并將結(jié)果集分頁的類。
可以自動(dòng)識(shí)別查詢中要顯示的字段值。

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

這個(gè)類可以被任何人自由引用,使用,修改。但請(qǐng)保留這段文字。
使用這個(gè)類造成的一切損失,都與作者tonera無關(guān)。

我還在考慮,對(duì)于一些復(fù)雜的聯(lián)合查詢,可以派生一個(gè)類,重新構(gòu)造sql實(shí)現(xiàn)。
這個(gè)類沒有考慮更多的顯示風(fēng)格,你可以自己構(gòu)造。
*****************************************************************/
class browser{
? ?var $c_table;? ?//要查詢的表名
? ?var $c_rows;? ?//要顯示的行數(shù)
? ?var $c_lation;? ?//查詢的條件
? ?var $c_order;? ?//排序的條件
? ?var $c_result;? ?//查詢的數(shù)據(jù)連接句柄
? ?var $c_query;? ?//最終構(gòu)造的查詢
? ?var $c_found;? ?//結(jié)果集
? ?var $c_error;? ?//錯(cuò)誤收集器
? ?var $c_offset;? ?//分頁顯示的偏移量
? ?var $total;? ?? ?//結(jié)果集的總數(shù)

? ?//連接數(shù)據(jù)庫
? ?function connect(){
? ?? ?include '../connect.inc.php';
? ?? ?if ($connection==false){
? ?? ?? ?$this->c_error.="沒有連接上數(shù)據(jù)庫。
";
? ?? ?? ?exit;
? ?? ?}
? ?? ?$this->c_result=$connection;
? ?}

? ?//構(gòu)造函數(shù),初始化變量
? ?function browser($tablename,$row,$sql,$lation,$orderby){
? ?? ?$this->c_table=$tablename;
? ?? ?$this->c_rows=$row;
? ?? ?if(empty($this->c_offset)){
? ?? ?? ?$this->c_offset=0;
? ?? ?}
? ?? ?if (empty($tablename) or empty($row) or empty($sql)){
? ?? ?? ?$this->c_error="沒有查詢的表或沒有批定顯示多少行或沒有查詢語句
";
? ?? ?}
? ?? ?$this->c_query=$sql;
? ?? ?if (!empty($lation)){
? ?? ?? ?$this->c_query.=" ".$lation;
? ?? ?}
? ?? ?if (!empty($orderby)){
? ?? ?? ?$this->c_query.=" ".$orderby;
? ?? ?}
? ?}

? ?//計(jì)算總頁數(shù)
? ?function TatolPage(){
? ?? ?$sult=mysql_query("select count(*) as 'total_rows' from $this->c_table",$this->c_result);
? ?? ?if ($sult==false) {
? ?? ?? ?$this->c_error.="計(jì)算結(jié)果集總數(shù)目的查詢失敗,請(qǐng)檢查。
";
? ?? ?? ?exit;
? ?? ?}
? ?? ?$tempvar=mysql_fetch_array($sult);
? ?? ?$this->total=$tempvar[0];
? ?}

? ?//查詢得到結(jié)果集,存入數(shù)組c_found[][]中
? ?function GetFound(){
? ?? ?$sult=mysql_query($this->c_query,$this->c_result) or die(mysql_error());
? ?? ?while ($found=mysql_fetch_array($sult)){
? ?? ?? ?$this->c_found[]=$found;
? ?? ?}
? ?}

? ?//查詢數(shù)據(jù),并將結(jié)果分頁存入一個(gè)變量
? ?function ShowTable(){

? ?? ?$this->connect();
? ?? ?$this->TatolPage();

? ?? ?if (empty($_GET[offset])){
? ?? ?? ?$_GET[offset]=0;
? ?? ?}
? ?? ?$this->c_query.=" limit ".$_GET[offset].", ".$this->c_rows;
? ?? ?$sult=mysql_query($this->c_query,$this->c_result) or die(mysql_error());

? ?? ?//解析query,得到要顯示出來的字段值
? ?? ?$tempvar=explode(" ",$this->c_query);
? ?? ?$fields=explode(",",$tempvar[1]);? ?//字段值(數(shù)組)

? ?? ?//顯示數(shù)據(jù)到一個(gè)表
? ?? ?$echo_content.="

";
? ?? ?while($found=@mysql_fetch_array($sult)){
? ?? ?? ?$echo_content.="";
? ?? ?? ?//顯示用戶指定的字段,此處需仔細(xì)看
? ?? ?? ?for($i=2;$i? ?? ?? ?? ?$echo_content.="";
? ?? ?? ?}
? ?? ?? ?$echo_content.="";
? ?? ?}

? ?? ?//分頁
? ?? ?if ($this->c_rows==0){
? ?? ?? ?$this->c_error.="每頁顯示的數(shù)目不能為0";
? ?? ?? ?exit;
? ?? ?}
? ?? ?$total_page=ceil($this->total/$this->c_rows);
? ?? ?$pre_page=$_GET[offset]-$this->c_rows;
? ?? ?//下一頁
? ?? ?$nex_page=$_GET[offset]+$this->c_rows;
? ?? ?//顯示上一頁
? ?? ?if ($pre_page>=0){
? ?? ?? ?$echo_content.="";
? ?? ?}else{
? ?? ?? ?$echo_content.="&下頁";
? ?? ?}
? ?? ?$echo_content.="
";
? ?? ?? ?$echo_content.="".$found[1]."
".$found[$i]."
上頁&";
? ?? ?}else{
? ?? ?? ?$echo_content.="
上頁&";
? ?? ?}
? ?? ?//顯示頁碼
? ?? ?for($i=1;$i? ?? ?? ?if ($_GET[offset]/$this->c_rows==($i-1)){
? ?? ?? ?? ?$echo_content.="&第".$i."頁&";
? ?? ?? ?}else{
? ?? ?? ?? ?$echo_content.="&c_rows.">".$i."&";
? ?? ?? ?}
? ?? ?}
? ?? ?//顯示下一頁
? ?? ?if ($nex_page!=0 and ($_GET[offset]+$this->c_rows)total){
? ?? ?? ?$echo_content.="&下頁
";
? ?? ?return $echo_content;

? ?}
}

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

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

//$gggg->GetFound()是將查詢結(jié)果集存在一個(gè)二維數(shù)組里,本例中沒有用到。
*/
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/314651.htmlTechArticle一個(gè)可查詢所有表的“通用”查詢分頁類最近突發(fā)奇想,希望寫出一個(gè)可以針對(duì)所有表的查詢分頁類。因?yàn)樵趯?shí)際的開發(fā)中,恐怕查詢并將...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
12306 Cara menyemak rekod pembelian tiket sejarah Cara menyemak rekod pembelian tiket sejarah 12306 Cara menyemak rekod pembelian tiket sejarah Cara menyemak rekod pembelian tiket sejarah Mar 28, 2024 pm 03:11 PM

Muat turun versi terbaharu aplikasi tempahan tiket 12306 Ia adalah perisian pembelian tiket perjalanan yang semua orang sangat berpuas hati dengannya -pengesahan nama untuk membeli tiket dalam talian Semua pengguna Anda boleh membeli tiket perjalanan dan tiket penerbangan dengan mudah dan menikmati diskaun yang berbeza. Anda juga boleh mula menempah tempahan terlebih dahulu untuk merebut tiket Anda boleh menempah hotel atau pemindahan kereta khas Dengan itu, anda boleh pergi ke mana-mana yang anda mahu pergi dan membeli tiket dengan satu klik lebih mudah dan memudahkan semua orang lebih selesa. Kini editor memperincikannya dalam talian Menyediakan 12306 pengguna cara untuk melihat rekod pembelian tiket sejarah. 1. Buka Keretapi 12306, klik Saya di sudut kanan bawah, dan klik Pesanan Saya 2. Klik Dibayar pada halaman pesanan. 3. Pada halaman berbayar

Perbandingan persamaan dan perbezaan antara MySQL dan PL/SQL Perbandingan persamaan dan perbezaan antara MySQL dan PL/SQL Mar 16, 2024 am 11:15 AM

MySQL dan PL/SQL ialah dua sistem pengurusan pangkalan data yang berbeza, mewakili ciri pangkalan data hubungan dan bahasa prosedur masing-masing. Artikel ini akan membandingkan persamaan dan perbezaan antara MySQL dan PL/SQL, dengan contoh kod khusus untuk digambarkan. MySQL ialah sistem pengurusan pangkalan data hubungan popular yang menggunakan Bahasa Pertanyaan Berstruktur (SQL) untuk mengurus dan mengendalikan pangkalan data. PL/SQL ialah bahasa prosedur yang unik untuk pangkalan data Oracle dan digunakan untuk menulis objek pangkalan data seperti prosedur tersimpan, pencetus dan fungsi. sama

Bagaimana untuk menyemak kelayakan akademik anda di Xuexin.com Bagaimana untuk menyemak kelayakan akademik anda di Xuexin.com Mar 28, 2024 pm 04:31 PM

Bagaimana untuk menyemak kelayakan akademik saya di Xuexin.com? Anda boleh menyemak kelayakan akademik anda di Xuexin.com Ramai pengguna tidak tahu cara menyemak kelayakan akademik mereka di Xuexin.com Seterusnya, editor membawakan tutorial grafik kepada pengguna tentang cara menyemak kelayakan akademik mereka di Xuexin.com pengguna datang dan lihat! Tutorial penggunaan Xuexin.com: Cara menyemak kelayakan akademik anda di Xuexin.com 1. Pintu masuk Xuexin.com: https://www.chsi.com.cn/ 2. Pertanyaan laman web: Langkah 1: Klik pada alamat Xuexin.com di atas untuk masuk ke laman utama Klik [Education Query]; Langkah 4: Pada halaman log masuk Masukkan maklumat dan klik [Log Masuk];

Bagaimana untuk menyemak tarikh pengaktifan pada telefon bimbit Apple Bagaimana untuk menyemak tarikh pengaktifan pada telefon bimbit Apple Mar 08, 2024 pm 04:07 PM

Jika anda ingin menyemak tarikh pengaktifan menggunakan telefon bimbit Apple, cara terbaik ialah menyemaknya melalui nombor siri dalam telefon bimbit Anda juga boleh menyemaknya dengan melawati laman web rasmi Apple, menyambungkannya ke komputer, dan memuat turun ketiga -perisian pihak untuk menyemaknya. Bagaimana untuk menyemak tarikh pengaktifan telefon bimbit Apple Jawapan: Pertanyaan nombor siri, pertanyaan laman web rasmi Apple, pertanyaan komputer, pertanyaan perisian pihak ketiga 1. Cara terbaik untuk pengguna ialah mengetahui nombor siri telefon bimbit mereka nombor siri dengan membuka Tetapan, Umum, Mengenai Mesin Ini. 2. Menggunakan nombor siri, anda bukan sahaja boleh mengetahui tarikh pengaktifan telefon bimbit anda, tetapi juga menyemak versi telefon bimbit, asal telefon bimbit, tarikh kilang telefon bimbit, dll. 3. Pengguna melawati tapak web rasmi Apple untuk mencari sokongan teknikal, mencari bahagian perkhidmatan dan pembaikan di bahagian bawah halaman, dan menyemak maklumat pengaktifan iPhone di sana. 4. Pengguna

Bincangkan perkongsian kemahiran pertanyaan lokasi pangkalan data Bincangkan perkongsian kemahiran pertanyaan lokasi pangkalan data Mar 10, 2024 pm 01:36 PM

Forum adalah salah satu bentuk laman web yang paling biasa di Internet Ia menyediakan pengguna dengan platform untuk berkongsi maklumat, bertukar dan berbincang. Discuz ialah program forum yang biasa digunakan, dan saya percaya ramai juruweb sudah sangat mengenalinya. Semasa pembangunan dan pengurusan forum Discuz, selalunya perlu untuk menanyakan data dalam pangkalan data untuk analisis atau pemprosesan. Dalam artikel ini, kami akan berkongsi beberapa petua untuk menanyakan lokasi pangkalan data Discuz dan memberikan contoh kod khusus. Pertama, kita perlu memahami struktur pangkalan data Discuz

Cara terbaik untuk melaksanakan penomboran tatasusunan dalam PHP Cara terbaik untuk melaksanakan penomboran tatasusunan dalam PHP May 04, 2024 pm 02:39 PM

Terdapat dua cara paling biasa untuk menomborkan tatasusunan PHP: menggunakan fungsi array_slice(): hitung bilangan elemen untuk dilangkau, dan kemudian ekstrak julat elemen yang ditentukan. Gunakan iterator terbina dalam: laksanakan antara muka Iterator, dan kaedah rewind(), key(), current(), next(), dan valid() digunakan untuk melintasi elemen dalam julat yang ditentukan.

Bagaimana untuk menyemak harga terkini Tongshen Coin? Bagaimana untuk menyemak harga terkini Tongshen Coin? Mar 21, 2024 pm 02:46 PM

Bagaimana untuk menyemak harga terkini Tongshen Coin? Token ialah mata wang digital yang boleh digunakan untuk membeli item, perkhidmatan dan aset dalam permainan. Ia tidak berpusat, bermakna ia tidak dikawal oleh kerajaan atau institusi kewangan. Transaksi Tongshen Coin dijalankan pada blockchain, yang merupakan lejar teragih yang merekodkan maklumat semua transaksi Tongshen Coin. Untuk menyemak harga terkini Token, anda boleh menggunakan langkah berikut: Pilih tapak web atau apl semakan harga yang boleh dipercayai. Beberapa tapak web pertanyaan harga yang biasa digunakan termasuk: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/ Binance: https://www.bin

Apakah situasi dalam pangkalan data Oracle yang boleh menyebabkan jadual dikunci? Apakah situasi dalam pangkalan data Oracle yang boleh menyebabkan jadual dikunci? Mar 10, 2024 pm 04:42 PM

Apakah situasi dalam pangkalan data Oracle yang boleh menyebabkan jadual dikunci? Dalam pangkalan data Oracle, adalah situasi biasa bahawa jadual dikunci, biasanya disebabkan oleh pengguna yang melakukan operasi data. Situasi kunci meja biasa termasuk penguncian peringkat baris, penguncian peringkat transaksi dan operasi DDL. Situasi ini akan diperkenalkan secara terperinci di bawah dan contoh kod yang sepadan akan diberikan. Penguncian peringkat baris: Apabila pengguna mengemas kini jadual dalam transaksi, pangkalan data mengunci baris data yang sepadan untuk menghalang transaksi lain daripada mengubah suai data pada masa yang sama. Jika transaksi tidak

See all articles