Получение данных для цикла foreach в smarty

Я пытаюсь использовать smarty для нового веб-сайта, но у меня есть небольшая проблема с назначением данных из SQL-запроса для цикла smartyt foreach. Я не получаю никаких данных из запроса в свой шаблон.

В моем классе.designs.php у меня есть следующее:

    function listAllDesigns() {
            global $db;

            $row = $db->query("
SELECT ds.*, count(com.comment) AS countcom 
FROM designs ds LEFT JOIN comments com ON com.design_id = ds.id 
WHERE ds.approved = 1 
GROUP BY ds.id 
ORDER BY ds.date_added ASC")->resultset();        

            $smarty = new Smarty;        
            $smarty->assign('designs', $row);

            return;        
        }

и мой index.php

include_once("includes/connect.php"); //Database connection
include_once("includes/config.php"); //Configuration file
include_once("includes/classes/class.designs.php"); //Main design class

require('smarty/libs/Smarty.class.php');

$designs = new Designs();
$designs->listAllDesigns();

$smarty = new Smarty;
$smarty->debugging = true;
$smarty->caching = true;
$smarty->cache_lifetime = 120;

$smarty->assign("charset", $config->charset);
$smarty->assign("pagetitle", $config->pagetitle);
$smarty->display('index.tpl');

и в index.tpl у меня это:

{foreach $designs as $r}
  
  • {$r.name}
  • {foreachelse} No results {/foreach}

    Он просто печатает «Нет результата», и я получаю ошибку «Undefined index designs».

    0
    nl ja de

    1 ответы

    include_once("includes/connect.php"); //Database connection
    include_once("includes/config.php"); //Configuration file
    include_once("includes/classes/class.designs.php"); //Main design class
    
    require('smarty/libs/Smarty.class.php');
    
    $designs = new Designs();
    $designs->listAllDesigns();
    
    $smarty = new Smarty;
    $smarty->debugging = true;
    $smarty->caching = true;
    $smarty->cache_lifetime = 120;
    
    // TO USE some value ($designs in your case) at your template you must assign it
    // 1st is its name and 2nd is the value
    $smarty->assign("designs", $designs);
    
    $smarty->assign("charset", $config->charset);
    $smarty->assign("pagetitle", $config->pagetitle);
    $smarty->display('index.tpl');
    
    0
    добавлено
    Хм .. это, похоже, не имело никакого значения. Я до сих пор не получаю результатов. Если я var_dump ($ row) внутри class.designs.php, я могу видеть полный массив из базы данных, поэтому я знаю, что получаю данные.
    добавлено автор Morten Hagh, источник
    Arh .. заставил его работать, установив return $ row; в функцию listAllDesigns, а затем выполнив ваше решение. Вот так! Спасибо!
    добавлено автор Morten Hagh, источник
    phpGeeks
    phpGeeks
    3 620 участник(ов)

    Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

    PHP
    PHP
    1 309 участник(ов)

    Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

    PHP — вакансии, поиск работы и аналитика
    PHP — вакансии, поиск работы и аналитика
    1 251 участник(ов)

    Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

    phpGeeksJunior
    phpGeeksJunior
    980 участник(ов)

    Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

    SqlCom.ru - Стиль жизни SQL
    SqlCom.ru - Стиль жизни SQL
    908 участник(ов)

    Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

    phpclub.ru
    phpclub.ru
    872 участник(ов)

    Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

    SQL_Ninja
    SQL_Ninja
    340 участник(ов)

    Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

    Devall | PHP
    Devall | PHP
    272 участник(ов)

    Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp