我正在尝试基于多个复选框运行查询。这是表单上复选框的片段。
<td><strong>
<input name="criteria[Buffet]" type="checkbox" id="Buffet" value="1"/>
<label for="Buffet">Buffet</label>
</strong></td>
<td><strong>
<input name="criteria[Breakfast]" type="checkbox" id="Breakfast" value="1"/>
<label for="Breakfast">Breakfast</label>
</strong></td>
<td><strong>
<input name="criteria[BYOB]" type="checkbox" id="BYOB" value="1" />
<label for="BYOB">BYOB</label>
</strong></td>
这是结果页面上的 php 脚本....
<?php
require "congig.php";
if(isset($_POST['criteria']) && !empty($_POST['criteria'])){
foreach($_POST['criteria'] as $key=>$value){
if($value==1) $criteria[] = "'DetailName'='".mysql_escape_string($key)."'";
}
$criteria = implode(' OR ', $criteria);
}
if(!$rs=mysql_query("SELECT tblLocations.CityID, tblRestaurants.RestName, tblLocations.Street,
tblLocations.Phone, tblLocations.Price, tblLocations.Rating, tblDetails.DetailName
FROM (tblRestaurants INNER JOIN tblLocations ON tblRestaurants.RestID = tblLocations.RestID)
INNER JOIN (tblLocDet INNER JOIN tblDetails ON tblLocDet.DetailID = tblDetails.DetailID)
ON tblLocations.LocationID = tblLocDet.LocID
WHERE tblLocations.CityID='16'
AND $criteria
ORDER BY tblRestaurants.RestName ASC"))
{
echo "Cannot parse query";
}
elseif(mysql_num_rows($rs) == 0) {
echo "No records found";
}
else {
echo "<table id=\"myTable\" table width=\"710\" class=\"beautifuldata\" align=\"Left\" cellspacing=\"0\">\n";
echo "<thead>\n<tr>";
echo "<th>PLACE</th>";
echo "<th>ADDRESS</th>";
echo "<th>PHONE</th>";
echo "<th>PRICE</th>";
echo "<th>RATING</th>";
echo "</tr>\n</thead>\n";
while($row = mysql_fetch_array($rs)) {
echo"<tr>
<td><strong><a href='$row[RestPage]'>$row[RestName]</a></strong></td>
<td>$row[Address]</td>
<td>$row[Phone]</td>
<td>$row[Price]</td>
<td>$row[Rating]</td>
</tr>\n";
}
echo "</table><br />\n";
}
?>
关于为什么我没有得到任何结果的任何建议?