我在PHP文件中进行了2次查询。第二个取决于第一个,我想在我的Smarty模板中显示结果。
但是,它没有显示出良好的效果。这是代码:
首先,查询:
$sql = "SELECT * FROM albums order by id ASC";
$rs = $conn->execute($sql);
$galeries = $rs->getrows();
foreach ( $galeries as $galerie ) {
$sqlgal = "SELECT id, filename, id_album FROM pictures where id_album = ".$galerie['id']." order by id ASC limit 0,1 ";
echo $sqlgal;
$rsgal = $conn->execute($sqlgal);
$picture1 = $rsgal->getrows();
}
我将结果分配给变量:
$oSmarty->assign('galeries', $galeries);
$oSmarty->assign('pictures', $picture1);
现在在我的模板中:
{section name=i loop=$galeries}
<div class="item">
<div class="well">
<a href="/galerie/{$galeries[i].id}/{$galeries[i].title|clean}.html" class="thumbnail"><img src="/photos/{$galeries[i].filename}/{$pictures[i].filename}" class="img-responsivetotal"></a>
</div>
</div>
{/section}
我有关于galerie的信息,但图片文件名没有出现。怎么了?我在ADODB中找不到任何关于子查询的内容。
答案 0 :(得分:0)
你的PHP代码中关于图片的逻辑似乎是错误的:你遍历每个画廊:
foreach ( $galeries as $galerie )
并在每个循环中将数据分配给$ picture1,从而破坏前一循环中的任何数据:
$picture1 = $rsgal->getrows();
所以,最后,$ pictures1只有最后一个画廊的图片。我想你忘了自动递增数组:
$picture1[] = $rsgal->getrows();