0

私は多くのことを調査し、おそらく私にとって説得力のある解決策ではないいくつかの解決策を見つけました.したがって、私はこの質問を投稿しています,助けてください

次のような同じ名前で異なる値のチェックボックスがあります

1.cate.php

<form action="mobile-phones-category.php" method="post">

<input type="checkbox" value="samsung" name="mobile[]"> sams

<input type="checkbox" value="nokia" name="mobile[]"> nolkia

<input type="submit" name="submit" value="SUBMIT" class="btn btn-primary pull-right">

</form>

2.) 携帯電話カテゴリ.php

サブミット[配列形式]のチェックボックスの値を取得し、dbから検索したい..通常のmysql_query(pdosではない)を使用しています

$search=$_POST["mobile"]; $search_string = implode(', ', $search); echo $search_string;

ここで私はNokia、Samsのようなものを手に入れます

次に、単一の SQL クエリを作成します。 include('connection.php');

$query = mysql_query("SELECT * FROM tablename where titles like '%$search_string%' ") or die(mysql_error());

何が起こっているのかというと、配列内のすべての値ではなく、配列内の 1 つの値のみが検索されるということです。すべての配列要素が検索されるようにするには、どのような変更を行う必要がありますか?

感謝と敬意

4

2 に答える 2

1

IN代わりにクエリでキーワードを使用しますLIKE

$query = mysql_query("SELECT * FROM tablename where titles IN ($search_string)" ) or die(mysql_error());

使用例:

$query = mysql_query("SELECT * FROM tablename where titles IN ('Nokia','Sams')" ) or die(mysql_error());

これにより、テーブルから Nokia & Sams というタイトルのレコードが得られます。

于 2013-08-08T06:59:03.460 に答える
0

User016 が言ったように、IN ステートメントを使用することもお勧めします。で区切られた複数の検索用語を検索し,ます。

ドキュメントは次の場所にあります: http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html#function_in

于 2013-08-08T07:01:14.370 に答える