29 апр. 2016 г., 9:37

вопрос по сниппету xPDO и бд

Здравствуйте Можете, пожалуйста, подсказать, почему такой сниппет не отдает всех пользователей?
<?php $output = ''; $sql = "SELECT * FROM modx_users"; foreach ($modx->query($sql) as $row) { $properties['id'] = $row['id']; $properties['username'] = $row['username']; } $output = $modx->getChunk($tpl,$properties); return $output;
чанк:
id [[+id]] / user [[+username]]
При вызове отображается только один результат… Таблица modx_users просто для примера
В цикле вы перезаписываете значения элементов массива $properties и в итоге после обхода результата sql-выборки вы и получаете в $properties только значение последней записи таблицы.
Виктор, не подскажете, как тогда сделать правильно?
С оф.сайта взял:
<?php $output = ''; $sql = "SELECT * FROM modx_users"; foreach ($modx->query($sql) as $row) { $output .= $row['id'] .' '; } return $output;
Но не получается разобраться с выводом нескольких значений и чанком
Лично я с чанками особо не работаю, а использую в основном пакеты от modx-клуба.А так,:
<?php $output = ''; $sql = "SELECT * FROM modx_users"; foreach ($modx->query($sql) as $row) { $output.= "id ".$row['id'] ."/ user ".$row['username']."\n"; } return $output;
Спасибо за наводку, теперь работает как надо
<?php $output = ''; $sql = "SELECT * FROM modx_users"; foreach ($modx->query($sql) as $row) { $output .= $modx->getChunk('mychunk', $row); } return $output;

Добавить комментарий