是否可以使用1个查询而不是2个?或者这种方式更好? (速度)
<?
$q1 = mysql_query("SELECT name,url,id FROM gallery") or die(mysql_error());
if (mysql_num_rows($q1) > 0) {
while ($row = mysql_fetch_array($q1)) {
echo 'IMAGES FROM '.$row['name'];
$id = $row['id'];
//second query for each gallery
$imgq = mysql_query("SELECT img FROM img WHERE ids=" . $id . " ") or die(mysql_error());
while ($img = mysql_fetch_array($imgq)) {
?><img src="<?=$img['img'];?>"><?
} //multiple images
}
}
答案 0 :(得分:4)
您需要加入才能将其恢复到一个查询中。
SELECT name,url,id,img
FROM gallery g
JOIN img i ON i.ids=g.id
这样做效率更高,因为它减少了您正在进行的请求和表访问次数。
这确实意味着您将使用name,url,id
带回重复的行,但效果可能会很小。