第一个表-bplus-具有名为home01的列,其值与表fname的列banners中的某些值相同

$items = '';
$sql = "select home01 from bplus";
$st = $db->query($sql);
$arr = $st->fetchAll(PDO::FETCH_COLUMN);
foreach ($arr as $el){
    $el = trim($el);
    $sqlb = "select * from banners where fname = '" . $el . "'";
    $stb = $db->query($sqlb);
    $row = $stb->fetch();
    $items .= "<img class='itemtop' src = '../banners/" . $el . "' alt='img' data-id = " . $row['id'] . " data-fname = '" . $row['fname'] . ">\n";
}
echo $items;


这行得通,但可能只有一个select语句的方法更短。

有什么帮助吗?

最佳答案

使用LEFT JOIN

select bplus.home01, banners.* from bplus left join banners on bplus.home01 = banners.fname;

关于php - 单选而不是双选语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49872715/

10-12 02:14