Smarty: Mysql-Wert einem Array zuweisen

mbecker

Mitglied
Hallo,

ich stehe bei der Programmierung einer News-Ausgabe vor einem, für mich bisher nicht lösbaren ;), Problem.

Ich lese die News-Werte aus der News-Tabelle aus, möchte aber die Anzahl der anbegegebenen Kommentare zu derjenigen News ebenfalls asugeben (Kommentare stehen in der Tabelle 'comment').

Das Problem besteht darin, dass die News-Werte in einem Array gespeichert werden und ich nicht weiß, wie ich diesem Array den Wert der Kommentare zuweisen kann.

folgendes Code beschreibt die News-Abfrage aus der Tabelle 'news':
Code:
DbCon = new DB($db_host, $db_user, $db_pass, $database);
$DbCon->DoSql("SELECT * FROM news ORDER BY ID DESC");
	$news = array(); // leeres Arrayelement erzeugen
	while ($row = $DbCon->GetRes()) 
	{
    	$DbCon = new DB($db_host, $db_user, $db_pass, $database);
		$news[] = $row;
	}
$smarty->assign('newsbeitraege', $news); // In Smarty speichern

Die Abfrage der Anzahl der Kommentare zu der jeweiligen News erfolgt ja durch ein einfaches 'mysql_num_rows'.

Wie krieg ich diesen Wert aber dem Array gespeichert, denn die Ausgabe in 'news.tpl' erfolgt so:
Code:
{foreach from=$newsbeitraege item=news}
             <div class="newstopic">{$news.topic}</div>
             <div class="newsout">
                        {$news.news|nl2br}
             </div>   
             <div class="newsautor" align="right">
             			{$news.autor}
             </div>   
                        
              
{/foreach}

Daher wäre es ganz hilfreich die Anzahl der Kommentare durch ein einfaches '{$news.anzahl}' oder in der Art zu schreiben.

Ich hoffe,. dass ich mich einigermßen präzise ausgedrückt habe und bedanke mich schon mal für diejenigen, die es sich durchlesen und evtl. auch einen Tipp haben ;).

Die Classes und Fkt. interessiern ja nicht, deshalb zu denen keine weitere Erklärung; mir wäre sehr geholfen wenn auch jmd. eine einfache Abfrage postet, es gehjt um die Zuweisung... :)

BIG THX

mbecker
 
Hallo,

ich weiss ist schon ziemlich alt alles hier denoch habe ich da wenn das oke ist mal eine Frage..

Ich versuche gerade eine Navigation aus einer Datenbank heraus laden zu lassen, was aber soweit unwichtig ist .. ich versuche den Inhalt der Tabelle folgendermassen zu verarbeiten:

PHP:
    $smarty = new Smarty;
    
    $smarty->compile_check = true;
    $smarty->debugging = true;
    $smarty->caching = true;
    $smarty->cache_lifetime = 120;
    
    require_once("configs/_mysql.php");
    
    $navigationkat = mysql_query("Select * from eva_navigationkategorie") or die(mysql_error());
    while($row1 = mysql_fetch_assoc($navigationkat)){
        $navigationtitle = $row1->title;
    } 
    $navigation = mysql_query("Select * from eva_navigation order by sort") or die(mysql_error());
    while($row = mysql_fetch_assoc($navigation)){
        $navigationname = $row->name;
        $navigationlink = $row->link;
    }

    $smarty->assign('navigationtitle',$navigationtitle);
    $smarty->assign('navigationname',$navigationname);
    $smarty->assign('navigationlink',$navigationlink);
        
    $smarty->display('navigation.tpl');

Er erlaubt mir aber nich die $smarty->assign ins Template zu übernehmen, bzw da abzufragen mithilfe von {$navigationtitle}. Das Template ansich wird aber geladen..

Hat jemand Rat?
 
Zurück