すべてのテーブルをクエリできる「ユニバーサル」クエリ ページネーション クラス
最近、すべてのテーブルをターゲットにできるクエリ ページング クラスを作成したいと思い立ちました。実際の開発では、結果セットのクエリやページングが最もよく使われるコードだと思いますが、テーブルの構造が多様であるため、コードの再利用率と保守性をできるだけ向上させたいと考えています。
以下は私が書いたものです。より良い改善ができ、より多くのサポートが得られるかどうかを確認するために、ご指導とテストをお願いいたします。
現在、単一のテーブルのみをサポートしており、結合クエリはサポートしていません。しかし、将来的にはそれをどのようにサポートするかを検討する可能性があります。
コード:
/*************************************************** * ************
このクラスは主に、多くのテーブルの単純なデータ クエリを解決するために使用され、現在も改良されています。ネチズンがもっとコメントや提案を提供してくれることを願っています。
私の目標は、ほぼすべての mysql テーブルのクエリに適用でき、結果セットをページネーションできるクラスを開発することです。
クエリに表示されるフィールド値を自動的に識別できます。
chinaunix の友人、特に PHP バージョンのネチズンの長期にわたる支援に特別な感謝の意を表したいと思います。
NightKids については特に言及しておく必要があります。彼は常に私に無償の支援を提供し、ソースコードも含めて助けてくれました。
このクラスは誰でも自由に参照、使用、変更できます。ただし、このテキストは保管してください。
このクラスの使用によって生じるすべての損失は、作者のtoneraとは何の関係もありません。
一部の複雑な結合クエリについては、クラスを派生して SQL 実装を再構築できることをまだ検討中です。
このクラスはそれ以上の表示スタイルを考慮しません。自分で構築できます。
********************************************** ***** ******************/
class browser{
var $c_table; //クエリ対象のテーブル名
var $c_rows; //表示する行数
var $c_lation; //クエリ条件
var $c_result; //データ接続ハンドル
var $c_query; //最終的に構築されたクエリ
var $c_found; //結果セット
var $c_offset; //ページングに表示されるオフセット
var $total; //結果セットの総数
//データベースに接続します
function connect(){
include '../connect.inc.php'
if ( $connection ==false){
$this->c_error.="データベースに接続されていません。
";
終了;
}
$this->c_result=$ 接続;
}
//コンストラクター、変数の初期化
function browser($tablename,$row,$sql,$lation,$orderby){
$this->c_table =$テーブル名;
$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="クエリ テーブルが存在しないか、表示する行数が存在しないか、クエリ ステートメントが存在しません< ; br>";
}
$this->c_query=$sql;
if (!empty($lation)){
$this->c_query.=" ".$ lation ;
}
if (!empty($orderby)){
$this->c_query.=" ".$orderby;
}
}
/ /総ページ数を計算する
function TatolPage(){
$sult=mysql_query("select count(*) as 'total_rows' from $this->c_table",$this->c_result);
if ($sult==false) {
$this->c_error.="クエリは結果セットの合計数を計算できませんでした。確認してください。
";
exit;
}
$tempvar=mysql_fetch_array($sult);
$this->total=$tempvar[0];
}
//クエリから結果セットを取得し、配列に格納します。 c_found[][]
function GetFound(){
$sult=mysql_query($this->c_query,$this-> ;c_result) または die(mysql_error());
while ($found=mysql_fetch_array($sult)){
$this->c_found[]=$found;
}
}
//データをクエリし、結果を変数にページに保存します。
function ShowTable(){
$this->connect(); TatolPage();
if (empty($_GET[offset])){
$_GET[offset]=0;
$this->c_query.= ".$_GET[オフセット].", ".$this->c_rows;
$sult=mysql_query($this->c_query,$this->c_result) または die(mysql_error());
//クエリを解析し、表示するフィールド値を取得します
$tempvar=explode(" ",$this->c_query);
$fields=explode(",",$ tempvar[1]); //フィールド値 (配列)
//データをテーブルに表示します
$echo_content.="
"; $echo_content.="".$found[1]." | "; ".$found[$i]." | " > $echo_content.="";
return $echo_content
}
}
/*例
//browser("テーブル名"、各ページに表示される番号、"sql"、"クエリ条件"、"ソート条件");
$gggg=新しいブラウザ("news",5,"ニュースから auto_id,news_title を選択","","ニュースタイムの説明で並べ替え");
$temp=$gggg->ShowTable(); temp;
//$gggg->GetFound() はクエリ結果セットを 2 次元配列に保存しますが、この例では使用されません。
*/
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









