Использование Smarty в своем классе

nefone

Новичок
В моем классе есть метод "display" для вывода информации из БД.
PHP:
    public function display($country, $city)
    {
        $query = "SELECT bla bla bla FROM bla bla table";

        if ($result = $this->connection->query($query))
        {
            while ($row = $result->fetch_assoc())
           {
                echo "<h1>$row['blabla']</h1>";
           }
Как прикрутить сюда Smarty, что бы это не выглядело, как г-но код?

Что бы получилось вроде этого:
PHP:
    require_once '/libs/Smarty.class.php';
    $smarty = new Smarty();
   
    public function display($country, $city)
    {
        $query = "SELECT bla bla bla FROM bla bla table";

        if ($result = $this->connection->query($query))
        {
            while ($row = $result->fetch_assoc())
           {
               $smarty->assign('blabla', $row['blabla']);
               $smarty->display('blabla.tpl');
           }
Или я что то делаю не так? Может лучше использовать альтернативный синтаксис PHP?
 

fixxxer

К.О.
Партнер клуба
Ты ошибаешься, если думаешь, что второе выглядит не как говнокод.

см. теорема эскобара
 

nefone

Новичок
Ты ошибаешься, если думаешь, что второе выглядит не как говнокод.

см. теорема эскобара
я и говорю, что чувствую это... вот и спрашиваю, как сделать лучше.

если бы в выборке было меньше данных, я бы вернул массив:
PHP:
    public function display($country, $city)
    {
        $query = "SELECT bla bla bla FROM bla bla table";

        if ($result = $this->connection->query($query))
        {
            while ($row = $result->fetch_assoc())
           {
                $data[] = $row['blabla'];
           }
        }
        return $data;
     }
и потом его использовал...
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Smarty::display() выводит в браузер.
А у тебя откуда-то return взялся.
Подменяем понятия?
 

antson

Новичок
Партнер клуба
@nefone, вывести все записи сразу оправдано только при экспорте.
Если же это требуется в виде html страницы то причина в неправильном ТЗ.
Ну или в криворукости .
Как пример пользователи запрашивали все записи под условие, чтобы посмотреть итого в конце простыни из 15 тысяч записей.
 
Сверху