小白さんは助けを求め続けた。 。 PHPでSQLクエリ文の条件として配列を使用する方法。
Xiaobi さん、前回の投稿でご協力いただいた皆様に感謝します。何が起こっているのか、ようやくわかりました。 ここで別の問題が発生しました。
ユーザーにページを通じて 12 個の複数選択リストを送信するように依頼しました。
得られたのは 12 個の配列でした。次に、これらの 12 個の配列に基づいて、
という内容のデータベースを作成しますが、これら 12 個の配列の内容を 1 つずつ抽出して SQL クエリ ステートメントを記述する方法はないようです。 。
例:
$a = array(a,b,c,d);
$b = array(1,2,3,4);
$ c = array(I,II,III,IV);
次に、name=a AND name=b AND name=c AND name=d AND name=1 AND name=2 のテーブル名から * を選択したいとします。 .. .. AND name=IV
それを達成する方法がわかりません? foreach ループを使用すると、毎回現在の要素の値になることが懸念されるため、現在の要素ごとに検索できる結果が見つかります。 。 。
しかし、クエリしたいのは、すべての配列のすべての要素が存在するという条件での最終結果です。 。
専門家を助けてください!
-----解決策---------
はは、これほど多くの AND があるものを見つけることができるでしょうか?
PHP コード
$a = array('a','b','c','d');
$b = 配列(1,2,3,4);
$c = 配列('I','II','III','IV');
#$a、$b、$c が空でない配列であることを保証します。自分で判断してください
echo "select * from table where name='".implode("' OR name='",array_merge($a,$b,$c))."'";
------解決策------------------<br><font color="#e78608"> 食事をしながら、いくつかのヒントを紹介します</font>最初の 1 つは、配列から文字列 implode(',',$arr) を出力し、句読点を自分で処理することです<br>最初の 1 つは、SQL ステートメントを変更することです同じ配列を使用するには AND などを IN <br>に変更します。例: IN ('a','b','c','d')<br><br> <br><br>------解決策---------<br><font color="#e78608"></font><br>話し合う