


PHP+Mysql は、複数のキーワードと複数のフィールドを含む SQL ステートメントを生成する関数を実装します。mysqlsql_PHP チュートリアル
PHP+Mysqlは、複数のキーワードと複数のフィールドを持つSQL文を生成する機能、mysqlsql
を実現しますこの記事の例では、PHP+Mysql を使用して、複数のキーワードと複数のフィールドを含む SQL ステートメントを生成する関数を実装する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
まず例を見てみましょう:
echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //関数生成、LIMITなし、ORDER BYなし
生成:
$keyword は POST または GET で取得され、複数のフィールドで検索できます。 実装関数は次のとおりです:
{
//=============================================== ========
// パラメータの正式な説明:
//キーワードは「北京首都方面列車」などのキーワードです。スペースありでもなしでも
//table はテーブル名です (enter_gongyin_pic など)。
//フィールドはフィールドの組み合わせです。フィールドを検索したい場合は、名前を書くだけです
// 3 つ以上検索したい場合は、name+picdir を使用してください
//=============================================== ========
//まずフィールドを決定します
$new_field=explode("+",$field); // + を押すと剥がせます
$field_count=count($new_field); //取得された結果の数
$newstring=explode(" ",$keyword); //スペースで区切る
$newstring2=配列(); //文字列から無駄なスペースとアンクル要素を削除します
$i=0; foreach ($newstring as $key => $value) {
If($value!="")
{
$newstring2[$i]=$値
$i++; }
}
//文字列から不要なスペースとアンクル要素を削除します
$result_count=count($newstring2); //取得された結果の数
// 以下の SQL ステートメントを生成します
//************************ if($field_count==1) //1 フィールドを検索 START ********** * *****************
if($field_count==1) //フィールドを 1 つ検索します
{
if($result_count==1) //キーセグメントかどうかを判定
{
$newstring_search=$newstring2[0]; $sql="SELECT *
`$table` から
WHERE `".$new_field[0]."` LIKE '%$newstring_search%'";
}
If($result_count>1) //キーセグメントが複数あるかどうかを判定
{
$sql="SELECT *
`$table` から
どこで ";
$sql_add=""; foreach ($newstring2 as $key => $value)
{
if($key==0)
{
$sql_add=$sql_add."`".$new_field[0]."` LIKE '%".$value."%'"; }
それ以外は
{
$sql_add=$sql_add." OR `".$new_field[0]."` LIKE '%".$value."%'";
$sql=$sql.$sql_add
}
}
//********************** if($field_count==1) //フィールドを 1 つ検索END *********** ** ****************
//************************ if($field_count>1) //複数のフィールドを検索 START *********** * ****************
if($field_count>1) //複数のフィールドを検索します。このとき、$new_field は配列です。複数のフィールドがあります
{
if($result_count==1) //キーセグメントかどうか判定
{
$newstring_search=$newstring2[0] //$newstring_search はキーワードです
; $sql="SELECT *
`$table` から
どこで ";
$sql_add="";//新しく追加されたフィールド
foreach ($new_field as $key => $value)
If($key==0)
$sql_add=$sql_add."`".$value."` LIKE '%".$newstring_search."%'"; それ以外 $sql_add=$sql_add." OR `".$value."` LIKE '%".$newstring_search."%'"; $sql=$sql.$sql_add; }
if($result_count>1) //キーセグメント(複数キーワード)が複数あるかどうかを判定 ==========================
{
$sql="SELECT *
`$table` から
どこで ";
$sql_add="";//新しく追加されたフィールド
foreach ($new_field as $key => $value)
{
if($key==0) //$new_field[0] が発生した場合 例: `a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%'
{ //入れ子になった foreach
foreach ($newstring2 as $key2 => $value2)
If($key2==0)
$sql_add=$sql_add."`".$value."` LIKE '%".$value2."%'"; それ以外 $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'"; //入れ子になった foreach
}
それ以外は
//(name+picdirテーブルの確認などマルチフィールドの場合) FOREACH連続ループを開始し、ELSE $new_field[1] $new_field[2] $new_field[3]を毎回実行します。
// 対応する値は $value です
{
//ネストされた foreach (複数のフィールドと複数のキーワード)
foreach ($newstring2 as $key2 => $value2)
If($key2==0)
$sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'"; それ以外 $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'"; //入れ子になった foreach
}
}//foreach ($new_field as $key => $value) 終了
$sql=$sql.$sql_add
}//if($result_count>1)終了
}//if($field_count>1) 終了
//************************ if($field_count>1) //複数のフィールドを検索END ************ *****************
$SQL を返す
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
あなたが話している無限レベルは、ツリーの形で無限ではありません。カテゴリの数が無制限で、レベルが 2 つしかないと言っているだけですよね。 A~Z のように 1 つの文字で表します。A はニュース、B はスポーツ、...
ニュースのカテゴリは文字の種類に設定でき、最初の文字は大きな疲れを意味し、次の文字は小さな文字を意味します。カテゴリ (A001 国際ニュース、A002 国内ニュース、B001 バスケットボールなど)
2 つのテーブルを作成します。1 つは、カテゴリ コードとカテゴリ名という 2 つのフィールドを持つニュース カテゴリ テーブルで、もう 1 つのカテゴリ テーブルには、カテゴリという 2 つのフィールドもあります。コードとカテゴリ名
ニューステーブルでは、文字型のカテゴリフィールドを使用するだけで問題ありません。
あなたのようなツリー状のディレクトリ出力を生成するには、まず SQL ステートメントをカテゴリに従って並べ替えるだけで、各データが上記のカテゴリと同じであるかどうかを確認し、+ か | かを判断します。目の前に表示されるのはこれだけです。
上の数字キー 1 の左側にあるこのポイントを使用します
http://www.bkjia.com/PHPjc/906678.html

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

XSS攻撃を防ぎ、リソースのロードを制限し、ウェブサイトのセキュリティを改善できるため、CSPは重要です。 1.CSPはHTTP応答ヘッダーの一部であり、厳格なポリシーを通じて悪意のある行動を制限します。 2。基本的な使用法は、同じ起源からのロードリソースのみを許可することです。 3.高度な使用法は、特定のドメイン名がスクリプトやスタイルをロードできるようにするなど、より微調整された戦略を設定できます。 4。CSPポリシーをデバッグおよび最適化するには、コンテンツセキュリティポリシーレポートのみのヘッダーを使用します。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

HTTPSは、HTTPに基づいてセキュリティレイヤーを追加するプロトコルであり、主に暗号化されたデータを介してユーザーのプライバシーとデータセキュリティを保護します。その作業原則には、TLSの握手、証明書の確認、暗号化された通信が含まれます。 HTTPSを実装する場合、証明書管理、パフォーマンスへの影響、および混合コンテンツの問題に注意を払う必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

メモ帳++7.3.1
使いやすく無料のコードエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック



