Показать результат подзапроса ADODB в Smarty

Я делаю 2 запроса в моем файле PHP. Второе зависит от первого, и я хотел бы отобразить результаты в моем шаблоне 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}

У меня есть информация о галерее, но имя файла картинки не появляется. В чем дело? Я не мог найти ничего о подзапросах в ADODB.

-1

Решение

Логика в вашем php-коде относительно картинок кажется неправильной: вы перебираете все галереи:

foreach ( $galeries as $galerie )

и в каждом из этих циклов вы назначаете данные для $ picture1, уничтожая любые данные из предыдущего цикла:

$picture1 = $rsgal->getrows();

так что, в конце концов, $ pictures1 имеет изображение только из последней галереи. Я полагаю, вы забыли автоматически увеличить массив:

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector