Вывод категорий и форумов на Smarty

mark1983

Новичок
Вывод категорий и форумов на Smarty

Здравствуйте!

Имеется следующий код:
PHP:
mysql_connect("имя_сервера", "логин", "пароль");
mysql_select_db("база данных");
mysql_query("SET NAMES 'cp1251'");
$query = mysql_query("select * from categories");
while ($result = mysql_fetch_array($query))
{
	echo $result['category_name']."<br>";
	$forums_query = mysql_query("select * from forums where forums.parent_category = ".$result['category_id']);
	while ($forum_result = mysql_fetch_array($forums_query))
	{
		echo $forum_result['forum_name']."<br>";
	}
}
Он прекрасно отрабатывает. Никаких нареканий нет. НО: нужно тоже самое сконвертировать в код Smarty.

Сделал так:
PHP:
require_once ("Smarty.class.php");
$smarty = new smarty();

mysql_connect("имя_сервера", "логин", "пароль");
mysql_select_db("база данных");
mysql_query("SET NAMES 'cp1251'");
$query = mysql_query("select * from categories");
while ($result = mysql_fetch_array($query))
{
	$smarty->assign('cat', $result['category_name']);
	$forums_query = mysql_query("select * from forums where forums.parent_category = ".$result['category_id']);
	while ($forum_result = mysql_fetch_array($forums_query))
	{
		$smarty->assign('forum', $forum_result['forum_name']);
	}
}
$smarty->display('test.txt');
Файл test.txt выглядит следующим образом:

<table>
<tr>
<td>{$cat}</td>
</tr>
<tr>
<td>{$forum}</td>
</tr>
</table>
Вся эта радость выводит вот что:

Тестовая категория 2
Тестовый форум2


В то время, как должна выводить вот что:

Тестовая категория 1
Тестовый форум 1
Тестовый форум 2
Тестовая категория 2
Тестовый форум 1
Тестовый форум 2


Как нужно подкорректировать код, чтобы он выводил дерево из базы данных в указанном виде?

Спасибо!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
mark1983
Вы наверное ожидаете готовый ответ...

Прийдётся Вас огорчить

smarty.php.net
1. {fooreach} или {section}
2. {debug}

www.phpfaq.ru/debug

И чему ж у Вас будет == {$cat}

$smarty->assign('cat', $result['category_name']);

После ассигна в цикле?

На этот вопрос Вам ответит {debug}
 

mark1983

Новичок
Да, почему-то цикл начинается именно со второй........

А не подскажите, как увязать {foreach} в Smarty и двойной while в php?

P. S. В принципе кто не против готов заплатить 1WMZ за вот этот реально работающий кусок кода :) Потому что всё остальное будет по аналогии.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А не подскажите, как увязать {foreach} в Smarty и двойной while в php?
нет учитесь )

-~{}~ 26.08.07 17:11:

var для assign-а может быть и массивом
 

mark1983

Новичок
Тогда зачем этот форум вообще нужен?! Ну ладно... у меня проблема решена. Но раз вы мне внятно не подсказали, я не подскажу всему народу, как я решил проблему.

Учитесь )
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
mark1983

Тогда зачем этот форум вообще нужен?!
Форум не для того, что кто-то решил Вашу проблему. Она Ваша.

http://phpclub.ru/faq/WhyForum

Но раз вы мне внятно не подсказали, я не подскажу всему народу, как я решил проблему.
Счас расплачусь.
 

iSlayter

Новичок
угу. ещёб про array_push почитать отправили...

чото сдаётся мне что нифика автор проблемы не решил :D
 
Сверху