


A 'universal' query paging class that can query all tables_PHP tutorial
A "universal" query pagination class that can query all tables
Recently, I had a whim, hoping to write a query paging class that can target all tables. Because in actual development, I am afraid that querying and paging the result set is the most used code, and the structure of the table is diverse. I want to improve the reuse rate and maintainability of the code as much as possible.
The following is what I wrote. Please give me your guidance and test it to see if I can make better improvements and get more support.
Currently, it only supports a single table and does not support joint queries. But we may consider how to support it in the future.
Code:
/***************************************************** ************
This class is mainly used to solve simple data queries for many tables, and is still being improved. I hope netizens can provide more comments and suggestions.
My goal is to develop a class that can be applied to queries on almost all mysql tables and paginate the result set.
Can automatically identify the field values to be displayed in the query.
I would like to express my special thanks to the friends of chinaunix, especially the netizens of the PHP version for their long-term help.
A special mention goes to NightKids, who has always given me selfless help, even his source code.
This class can be freely referenced, used, and modified by anyone. But please keep this text.
All losses caused by using this class have nothing to do with the author tonera.
I am still considering that for some complex joint queries, we can derive a class and reconstruct the sql implementation.
This class does not consider more display styles, you can construct it yourself.
**************************************************** ********************/
class browser{
var $c_table; //Table name to be queried
var $c_rows; //Number of rows to be displayed
var $c_lation; //Query conditions
var $c_order; //Sort conditions
var $c_result; //Query data connection handle
var $c_query; //Finally constructed query
var $c_found; //Result set
var $c_error; //Error collector
var $c_offset; //Offset displayed in paging
var $total; //The total number of result sets
//Connect to the database
function connect(){
include '../connect.inc.php';
if ( $connection==false){
$this->c_error.="Not connected to the database.
";
exit;
}
$this->c_result=$ connection;
}
//Constructor, initialize variables
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="There is no query table or no number of rows to be displayed or no query statement< ;br>";
}
$this->c_query=$sql;
if (!empty($lation)){
$this->c_query.=" ".$ lation;
}
if (!empty($orderby)){
$this->c_query.=" ".$orderby;
}
}
//Calculate the total number of pages
function TatolPage(){
$sult=mysql_query("select count(*) as 'total_rows' from $this->c_table",$this->c_result);
if ($sult==false) {
$this->c_error.="The query failed to calculate the total number of result sets, please check.
";
exit;
}
$tempvar=mysql_fetch_array($sult);
$this->total=$tempvar[0];
}
//Get the result set from the query and store it in the array 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;
}
}
//Query the data and store the results in pages into a variable
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());
//Parse the query and get the field value to be displayed
$tempvar=explode(" ",$this->c_query);
$fields=explode(",",$tempvar[1]); //Field value (array)
//Display data to a table
$echo_content.="
"; $echo_content.="".$found[1]." | "; ".$found[$i]." | ";||||||||
Previous page&"; }else{ $echo_content.=" | |||||||||
Previous page&"; Page number for($i=1;$i<=$total_page;$i++){ if ($_GET[offset]/$this->c_rows==($i-1)){ } !=0 and ($_GET[offset]+$this->c_rows)<=$this->total){ $echo_content.="&Next page |
return $echo_content;
}
}
/*Example
//browser("table name", number displayed on each page, "sql", "query conditions", "sorting conditions");
$gggg=new browser ("news",5,"select auto_id,news_title from news","","order by newstime desc");
$temp=$gggg->ShowTable();
echo $ temp;
//$gggg->GetFound() stores the query result set in a two-dimensional array, which is not used in this example.
*/
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Download the latest version of 12306 ticket booking app. It is a travel ticket purchasing software that everyone is very satisfied with. It is very convenient to go wherever you want. There are many ticket sources provided in the software. You only need to pass real-name authentication to purchase tickets online. All users You can easily buy travel tickets and air tickets and enjoy different discounts. You can also start booking reservations in advance to grab tickets. You can book hotels or special car transfers. With it, you can go where you want to go and buy tickets with one click. Traveling is simpler and more convenient, making everyone's travel experience more comfortable. Now the editor details it online Provides 12306 users with a way to view historical ticket purchase records. 1. Open Railway 12306, click My in the lower right corner, and click My Order 2. Click Paid on the order page. 3. On the paid page

How to check my academic qualifications on Xuexin.com? You can check your academic qualifications on Xuexin.com, but many users don’t know how to check their academic qualifications on Xuexin.com. Next, the editor brings you a graphic tutorial on how to check your academic qualifications on Xuexin.com. Interested users come and take a look! Xuexin.com usage tutorial: How to check your academic qualifications on Xuexin.com 1. Xuexin.com entrance: https://www.chsi.com.cn/ 2. Website query: Step 1: Click on the Xuexin.com address above to enter the homepage Click [Education Query]; Step 2: On the latest webpage, click [Query] as shown by the arrow in the figure below; Step 3: Then click [Login Academic Credit File] on the new page; Step 4: On the login page Enter the information and click [Login];

MySQL and PL/SQL are two different database management systems, representing the characteristics of relational databases and procedural languages respectively. This article will compare the similarities and differences between MySQL and PL/SQL, with specific code examples to illustrate. MySQL is a popular relational database management system that uses Structured Query Language (SQL) to manage and operate databases. PL/SQL is a procedural language unique to Oracle database and is used to write database objects such as stored procedures, triggers and functions. same

If you want to check the activation date using an Apple mobile phone, the best way is to check it through the serial number in the mobile phone. You can also check it by visiting Apple's official website, connecting it to a computer, and downloading third-party software to check it. How to check the activation date of Apple mobile phone Answer: Serial number query, Apple official website query, computer query, third-party software query 1. The best way for users is to know the serial number of their mobile phone. You can see the serial number by opening Settings, General, About This Machine. . 2. Using the serial number, you can not only know the activation date of your mobile phone, but also check the mobile phone version, mobile phone origin, mobile phone factory date, etc. 3. Users visit Apple's official website to find technical support, find the service and repair column at the bottom of the page, and check the iPhone activation information there. 4. User

Title: How to use Oracle to query whether a table is locked? In Oracle database, table lock means that when a transaction is performing a write operation on the table, other transactions will be blocked when they want to perform write operations on the table or make structural changes to the table (such as adding columns, deleting rows, etc.). In the actual development process, we often need to query whether the table is locked in order to better troubleshoot and deal with related problems. This article will introduce how to use Oracle statements to query whether a table is locked, and give specific code examples. To check whether the table is locked, we

Forum is one of the most common website forms on the Internet. It provides users with a platform to share information, exchange and discuss. Discuz is a commonly used forum program, and I believe many webmasters are already very familiar with it. During the development and management of the Discuz forum, it is often necessary to query the data in the database for analysis or processing. In this article, we will share some tips for querying the location of the Discuz database and provide specific code examples. First, we need to understand the database structure of Discuz

There are two most common ways to paginate PHP arrays: using the array_slice() function: calculate the number of elements to skip, and then extract the specified range of elements. Use built-in iterators: implement the Iterator interface, and the rewind(), key(), current(), next(), and valid() methods are used to traverse elements within the specified range.

Check the latest price of BitTorrent Coin (BTT) BTT is a cryptocurrency on the TRON blockchain that is used to reward BitTorrent network users for sharing and downloading files. Here's how to find the latest price for BTT: Choose a reliable price check website or app. Some commonly used price query websites include: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Search on the website or app BTT. Check out the latest prices for BTT. Note: Cryptocurrency Prices
