マスターをお願いします、私は次の入力を持っています:
<label >Please choose :</label>
<input type="checkbox" name="outil[]" value="TV" />
<input type="checkbox" name="outil[]" value="Lecteur CD" />
MyValues
そして、次のようなテーブル " " があります。
+----+-----------------------------------------------------------------------+
| id | value |
+----+--------+------------------------------------------------------------- +
| 1 | a:3:{i:0;s:10:"Lecteur CD";i:1;s:16:"Console de salon";i:2;s:2:"TV";} |
+----+--------+--------------------------------------------------------------+
フィールド値には、次の配列からシリアル化された文字列が含まれます。
array(3) {
[0]=>
string(10) "Lecteur CD"
[1]=>
string(16) "Console de salon"
[2]=>
string(2) "TV"
}
ユーザーが必要な入力をチェックすると、データがサーバー側に送信されますid
。チェックされた入力がvalue
フィールド内のどこに存在するかを選択する必要があります (これは、配列からのシリアル化された値です。関数 in_array)。
私のクエリは次のようになります。
"SELECT id FROM MyValues WHERE value = '".serialize($_POST['outil'])."' ";
しかし、これは機能せず、正常です。なぜなら、ユーザーは 1 つの入力しかチェックできず、データを見つけなければならないからです。
少なくとも送信されたデータがあるかどうかを確認できる場合は、mysqlで正規表現を使用することを考えていますが、知識は限られています。マスターしてください、この問題を解決するのを手伝ってくれませんか?
前もって感謝します。