Smarty: Datenbank-Ausgabe wird nicht erneuert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Smarty: Datenbank-Ausgabe wird nicht erneuert

    Hallo!

    Ich möchte aus einem WBB Forum einige Daten auslesen. Dazu lese ich zuerst die "Basisdaten" wie Autor, Datum, ID etc aus und anschließend innherlab dieser Abfrage den Text des Beitrags.

    Ich benutze auf meiner Seite die Smarty-Template Enginge.
    Das ausgeben der "Basisdaten" klappt auch wunderbar, allerdings wird nur der Text des ersten abgerufen Beitrages ausgegeben.

    Ich denke das es daran liegt, dass Smarty die Variable $news_text nur einmal auswertet und bei den nächsten Abfragen nicht mehr, allerdings weiss ich nicht wie ich das ändern kann.

    Ich habe hier mal den Inhalt der news.php

    PHP-Code:
    $sql_news mysql_query "SELECT * FROM bb1_threads WHERE boardid = 2 ORDER BY starttime DESC LIMIT 15" );

    $news = array();
    $news_text = array();

    while ( 
    $sql_news_data mysql_fetch_assoc $sql_news ) ) {
        
    $news[] = $sql_news_data;
        
        
    $threadid $sql_news_data["threadid"];
        
    $posttime $sql_news_data["starttime"];
        
        
    $sql_news_text mysql_query "SELECT * FROM bb1_posts WHERE threadid = "$threadid ." AND posttime = "$posttime );
        while ( 
    $sql_news_text_data mysql_fetch_assoc $sql_news_text ) ) {
            
    $news_text $sql_news_text_data;
        }
        
        
    $smarty->assign 'news_text'$news_text );
    }

    $smarty->assign 'template_name''news.html' );
    $smarty->assign 'news'$news ); 
    Und hier den Inhalt des Templates:
    Code:
    {foreach key=key from=$news item=news}
    <!-- ANFANG NEWS -->
      		
      <div class="newsheadline">
       <img src="gfx/news_1.png" alt="->">{$news.topic}</div>
    		
    <div class="newsinfo">Geschrieben von: <b><a href="forum/profile.php?userid={$news.starterid}" target="_blank">{$news.starter}</a></b> - 
    {$news.starttime|date_format:"%H:%M - %d.%m.%Y"} - <b> {$news.replycount} 
    <a href="forum/thread.php?threadid={$news.threadid}" target="_blank">Kommentar(e) vorhanden</a></b></div>
    <div class="newstext">
    {$news_text.message}
    </div>
    
    <!-- ENDE NEWS -->
    {/foreach}
    Danke schonmal!
    mfg
    Matthias

  • #2
    Nein, es liegt ganz einfach daran, dass du die variable immer wieder überschreibst. da kennt smarty die variable und so noch gar nicht.

    PHP-Code:
    while ( $sql_news_text_data mysql_fetch_assoc $sql_news_text ) ) {
            
    $news_text $sql_news_text_data
    Und brich mal bitte deinen Quelltext um, so wie es auch in unseren Regeln steht.

    Kommentar

    Lädt...
    X