0

htmlフォームのチェックボックスを使用するクエリを作成しようとしています。配列を作成する必要があるかどうかはわかりませんが、現時点では、チェックボックスの1つからのみ結果を取得しています。

これが私のチェックボックスの設定です。

<input type="checkbox" name="color[]" value="Black">Black
<input type="checkbox" name="color[]" value="Blue">Blue
<input type="checkbox" name="color[]" value="Brown">Brown
<input type="checkbox" name="color[]" value="Green">Green
<input type="checkbox" name="color[]" value="Grey">Grey
<input type="checkbox" name="color[]" value="Orange">Orange
<input type="checkbox" name="color[]" value="Pink">Pink
<input type="checkbox" name="color[]" value="Purple">Purple
<input type="checkbox" name="color[]" value="Red">Red
<input type="checkbox" name="color[]" value="Teal">Teal
<input type="checkbox" name="color[]" value="White">White
<input type="checkbox" name="color[]" value="Yellow">Yellow

これが私のphpとmysqlのクエリです

extract($_GET);

$Color =  $color[];

$query = "SELECT * FROM tblYarn WHERE Color ='".$Color."'";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

色で糸を選択しようとしていますが、一度に1色しか取得できません。

これが私の表示テーブルコードです

echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "<td><img src=./images/$col_value border='3' ></td>";


echo "\t</tr>\n";
}
echo "</table>\n";
4

1 に答える 1

1

これは機能するはずです:

extract($_GET);

$query = "SELECT * FROM tblYarn WHERE Color IN ('" . implode("','",$color) . "')";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
于 2012-12-06T21:18:04.607 に答える