2016-08-30 17 views
-1

私は自分のPHPファイルで2つのクエリを作成しています。 2番目は最初のものに依存しており、結果をSmartyテンプレートに表示したいと思います。サブクエリ結果を表示SmartyのADODB

ただし、良好な結果は表示されません。

まず、クエリ:ここでは、コードです

$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

写真に関するあなたのPHPコードのロジックは間違っているようだ:すべてのギャラリーの上にあなたのループ:

foreach ($galeries as $galerie) 

し、前のループから任意のデータを破壊し、$ Picture1のにデータを割り当て、それらの各ループで:

$picture1 = $rsgal->getrows(); 

最終的に、$ pictures1は最後のギャラリーの画像しか持っていません。私は配列を自動インクリメントするのを忘れたと思います:

$picture1[] = $rsgal->getrows();