eval und templates.... bräuchte hilfe

virus

Grünschnabel
moin

ich bin dabei ein newssystem zu coden und verwende ein templatesystem, das ich hier irgendwo in den unendlichen weiten dieses Froums gefunden habe:

PHP:
function gettemplate($name)
{
    $template = file("./tpl/".$name.".htm");
    $template = implode("", $template);
    $template = str_replace("\"", "\\\"", $template);
    return $template;    
}


function printtemplate($template)
{
    echo $template;
}


und um das nun aufzurufen benötigt man

PHP:
eval ("\$hauptteil = \"".gettemplate("news")."\";");



in der main.htm gibt es folgende variabeln, die ich durch templates ersetzen lass:

- $menu
- $hauptteil

So und nun zu meinem problem: Wie mache ich das, dass news.htm so häufig aufgelistet wird bis die mysql db leer ist?
Was klappt ist:
PHP:
eval ("printtemplate(\"".gettemplate("main")."\");");

doch dann stehen die news ÜBER der eigentlichen seite. Was ich möchte ist, das die news dort sind, wo $hauptteil in main.htm stehen.

so sieht das jetzt bei mir aus (index.php):

PHP:
$query_news = mysql_query("SELECT * FROM `kuh_news` ORDER BY `news_date` DESC LIMIT 0, 30");

    while($fetch_news = mysql_fetch_array($query_news)){

    $topic 	= $fetch_news[news_topic];
    $news	= $fetch_news[news_text];
    $date 	= date("d.m.Y", $fetch_news[news_date]);
    $time 	= date("H.i", $fetch_news[news_date]);
    $user 	= $fetch_news[userid];
	

    eval ("\$hauptteil = \"".printtemplate(\"".gettemplate("news")."\");"\";");

}

hierbei erhalte ich diesen fehler
Code:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in index.php on line 40

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in index.php on line 40

line 40 ist
PHP:
eval ("\$hauptteil = \"".printtemplate(\"".gettemplate("news")."\");"\";");

hat jemand einen besser idee wie ich templates und mysql verbinde?
 
Zurück