そのため、フォームで複数のチェックボックスを使用して、データベースに問題なくクエリを実行しています。次に、ドロップダウンリストを追加し、チェックボックスを使用してクエリと組み合わせます。これを実行すると、
Warning: Invalid argument supplied for foreach()
これが私のフォームです
<form name="search_form" method="post" action="event_list">
<table>
<tr>
<td>Venue</td>
<td><input type="checkbox" name="check_list[]" value="AAC"><label >AAC</label><br />
<input type="checkbox" name="check_list[]" action="" value="AKC" id="check_list[]"/><label >AKC</label><br />
<input type="checkbox" name="check_list[]" action="" value="ASCA"/><label >ASCA</label><br />
<input type="checkbox" name="check_list[]" action="" value="CKE"/><label >CKE</label><br />
<input type="checkbox" name="check_list[]" action="" value="CPE"/><label >CPE</label><br />
<input type="checkbox" name="check_list[]" action="" value="DOCNA"/><label >DOCNA</label><br />
<input type="checkbox" name="check_list[]" value="NADAC"><label >NADAC</label><br />
<input type="checkbox" name="check_list[]" action="" value="TDAA"/><label >TDAA</label><br />
<input type="checkbox" name="check_list[]" action="" value="UKC"/><label >UKC</label><br />
<input type="checkbox" name="check_list[]" action="" value="UKI"/><label >UKI</label><br />
<input type="checkbox" name="check_list[]" action="" value="USDAA"/><label >USDAA</label><br />
</td>
</tr>
<tr>
<td style="text-align: left;">State:</td>
<td style="text-align: left;">
<select name="state" id="state" onChange="setCities();">
<option name="drop_down[]" value="Alabama">Alabama</option>
<option name="drop_down[]" value="Texas">Texas</option>
</select>
</td>
</tr>
<td align="right"><input type="submit" name="submit" value="Submit"></td>
</tr>
</table>
</form>
これが私のPHPです
<?php
$options = Array();
$options2 = Array();
foreach ($_POST['check_list'] as $check)
$options[] = 'venue=' . "'$check'";
foreach ($_POST['drop_down'] as $drop)
$options2[] = 'state=' . "'$drop'";
$sql = "SELECT * FROM venue_event_all";
if (count($options))
$sql .= " WHERE " . implode(' OR ', $options);
if (count($options2))
$sql .= " AND " . implode(' OR ', $options2);
$result=mysql_query($sql) or die(mysql_error());
?>