我有两张桌子:一张餐馆桌和一张桌子。 “地址”表中的“EntryID”键是一个与餐馆表中每条记录的主键相同的数字。因此EntryID是外键。我希望能够修改我的PHP选择脚本以跨这两个表搜索数据库。这就是我现在所拥有的:
$RPrice = $_GET["price"];
$RType = $_GET["type"];
$RAtmosphere = $_GET["RAtmosphere"];
$RArea = $_GET["RArea"];
if (!empty($RPrice)) $w[]="Foodlist.price='".mysql_real_escape_string($RPrice)."'";
if (!empty($RType)) $w[]="Foodlist.ftype='".mysql_real_escape_string($RType)."'";
if (!empty($RAtmosphere)) $w[]="Foodlist.atmosphere='".mysql_real_escape_string($RAtmosphere)."'";
if (!empty($RArea)) $w[]="Addresses.area='".mysql_real_escape_string($RArea)."'";
if (count($w)) $where="WHERE ".implode(' AND ',$w); else $where='';
$sql="SELECT Foodlist.ID, Foodlist.name from Foodlist JOIN Addresses ON (Foodlist.ID = Addresses.EntryID) $where";
$result= mysql_query($sql);
while($row=mysql_fetch_array($result)){
$ID=$row['ID'];
echo "<a class=\"cross-link\" href=\"javascript:ajaxpage('result.php?id=$ID', 'results2'); ajaxpage('videoloader.php?id=$ID', 'results1');\">".$row['name']."</a><div id=\"contentarea\"></div>";
}
我已经将“区域”部分注释掉了,因为这是需要更改的内容。
我希望能够保持与以前相同的功能,但我希望能够搜索多个区域记录。我希望这是有道理的。如果您需要更多说明,请告诉我。
Foodlist(表)包含以下列:ID,价格,类型,氛围 地址(表)包含以下列:EntryID,area
现在,查询假设所有这些列(entryID除外)都在foodList中。我需要查询从地址表中搜索区域。另外,我想从每个ID的查询返回1个结果。 FoodList表中的一条记录可能在Addresses表中有多个相应的记录。在这种情况下,我只希望它返回与给定区域匹配的那个。
答案 0 :(得分:0)
SELECT f.ID, name FROM Foodlist f JOIN Addresses a ON (f.ID = a.EntryID) $where
我相信这应该足以满足你的需要。