2016-08-30 1 views
-1

Je fais 2 requêtes dans mon fichier PHP. Le 2ème dépend du premier et j'aimerais afficher les résultats dans mon template Smarty.Affichage du résultat de la sous-requête ADODB dans Smarty

Cependant, il n'affiche pas les bons résultats. Voici le code:

Tout d'abord, la requête:

$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(); 
} 

et j'Assigné résultats aux variables:

$oSmarty->assign('galeries', $galeries); 
$oSmarty->assign('pictures', $picture1); 

Maintenant, dans mon modèle:

{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}  

J'ai les informations sur la galerie mais le nom du fichier image n'apparaît pas. Qu'est-ce qui ne va pas? Je n'ai rien trouvé à propos des sous-requêtes dans ADODB.

Répondre

0

La logique dans votre code php sur les images semble mal: vous en boucle sur toutes les galeries:

foreach ($galeries as $galerie) 

et dans chacune de ces boucles que vous ajoutez des données à photo1 $, détruisant toutes les données de la boucle précédente: Ainsi, à la fin, $ pictures1 ne dispose que de l'image de la dernière galerie. Je suppose que vous avez oublié d'incrémenter automatiquement le tableau:

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