Как ще стане в Smarty този код >>

djman

Registered
Код:
$q = run_q('SELECT kat_id AS kid, name AS kname FROM kat ORDER BY name ASC') or die(mysql_error());
$data = array();
while ($row = mysql_fetch_array($q)) $data[] = $row;

foreach ($data as $kid) {
    $qq = run_q('SELECT forum_id,name AS fname FROM forum WHERE kat_id=' . $kid['kid']) or die(mysql_error());
    echo '<div class="kategoriq">' . $kid['kname'] . '</div>';

    while ($res = mysql_fetch_array($qq)) {
        echo '<div class="forum">' . $res['fname'] . '</div>';
    }
}

Уж го направих под смарти, но не излиза практически нищо (по 1 йероглиф на ред)... Ако може и php, и темплейт файла как ще стане... Благодаря!!! :)
 
PHP
$q = run_q('SELECT kat_id AS kid, name AS kname FROM kat ORDER BY name ASC') or die(mysql_error());
$data = array();
while ($row = mysql_fetch_array($q)) $data[] = $row;

foreach ($data as $k => $kid) {
$qq = run_q('SELECT forum_id,name AS fname FROM forum WHERE kat_id=' . $kid['kid']) or die(mysql_error());

while($res = mysql_fetch_array($qq))
{
$data[$k]['fname'][] = $res['fname'];
}
}
$smarty->assign('data', $data);
TPL:
{foreach $data as $d}
<div class="kategoriq">{$d.kname}</div>
{foreach $d.fname as $fn}
<div class="forum">{$fn}</div>
{/foreach}
{/foreach}


// за синтаксиса на смарти съм ползвал новия синтаксис http://www.smarty.net/docs/en/language.function.foreach.tpl
 

Back
Горе