【发布时间】:2011-10-01 11:09:06
【问题描述】:
我有 3 张桌子
- 网站:ID、名称
- 关联:类型、type_id、site_id
- 选项:ID、姓名
我想要一个查询来选择 * 站点,然后从 assoc 中选择相关选项并从选项表中获取名称。
我想将代码缩短为一个查询:
$getsites = mysql_query("SELECT * FROM sites")or die(mysql_error());
while($row = mysql_fetch_array($getsites)){
echo $row['name'];
$getassoc = mysql_query("SELECT * FROM assoc WHERE type='options' AND site_id = '$row[ID]'")or die(mysql_error());
echo'<ul>';
while($subrow = mysql_fetch_array($getassoc)){
$getoption = mysql_query("SELECT * FROM options WHERE ID = '$subrow[assoc_id]'")or die(mysql_error());
$option = mysql_fetch_assoc($getoption);
echo '<li>'.$option['name'].'</li>';
}
echo'</ul><br/>';
}
【问题讨论】:
-
google:
SQL JOIN并删除您的嵌套循环。