Smarty, цикл, вывод == проблемы

Hugo Borz

Новичок
Smarty, цикл, вывод == проблемы

Здравствуйте. У меня проблема со смарти, все делаю как в мане, но почему то вывод работает не корректно.
В шаблоне пишу:

{section name=new loop=$count}
<tr>
<td class="zagolovok">{$news[new].name}</td>
</tr>
<tr>
<td class="text">&nbsp;&nbsp; {$news[new].text}</td>
</tr>
{sectionelse}
<tr>
<td><font class="zagolovok">{$msg}</font></td>
</tr>
{/section}

В скрипте пишу:
PHP:
            $count = $total['count(*)'];
            $smarty->assign('count',$count);

           while ($news = mysql_fetch_array($pgs))
            {
               $smarty->assign('news',$news);
            }
           $smarty->display("start.tpl");
Выводит:

2
2
Н
Н

Подскажите в чем ошибка!?
 

matross

Новичок
Re: Smarty, цикл, вывод == проблемы

А ты внимательно мануал почитай, и все станет ясно ;)
 

alexhemp

Новичок
Hugo Borz

Во первых у тебя в переменной {$news} всегда будет последняя строка из выборки.
Чтобы этого не было - используй append вместо assign

Во вторых для вывода ассоциативного массива используй foreach - он на порядок проще.
Ну и вычисление total ему не нужно

Вот тебе примерный код:

Код:
while ($news = mysql_fetch_array($pgs)) $smarty->append('news',$news); 
$smarty->display("start.tpl");
Шаблон
{foreach item=item from=$news}
{$item.text}<br>
{/foreachelse}
Ничего не найдено
{/foreach}
 
Сверху