Hallo zusammen,
ich steh seit ein paar Wochen total auf dem Schlauch und komme nicht weiter.
Ich habe im Internet eine Templateklasse gefunden mit der man u.a. Arryas im Template darstellen kann.
Jetzt möchte ich das Array mit Daten aus einer Datenbank füllen. Daran scheitere ich. Mein PHP-Template Datei sieht folgendermasen aus:
Soweit, so gut. Hier ist ein normales Array welches normal auf der Website ausgegeben wird, anbei die test.tpl:
Soweit sieht die Seite auch so aus, wie sie sollte.
Nun kommen wir zur Abfrage. Ich habe es bereits mit folgendem Code versucht:
Bekomme dann aber folgenden Fehler:
Warning: Invalid argument supplied for foreach() in C:\public\xampp\htdocs\pxcms\2\test.tpl on line 6
In Zeile 6 steht:
So sieht die Templateklasse aus:
Was läuft da falsch?
Viele Grüße
hossi
ich steh seit ein paar Wochen total auf dem Schlauch und komme nicht weiter.
Ich habe im Internet eine Templateklasse gefunden mit der man u.a. Arryas im Template darstellen kann.
Jetzt möchte ich das Array mit Daten aus einer Datenbank füllen. Daran scheitere ich. Mein PHP-Template Datei sieht folgendermasen aus:
PHP-Code:
<?php
include("class.Template.php");
// da steht die datenbankanbindung drin
include("config.php");
$Template = new CTpl();
//jetzt weisen wir einiege Variablen zu:
$Template->titel = "Hallo Welt!";
$Template->inhalt = array("Willkommen auf meiner Seite!", "Wie geht es dir?", "Mir geht es gut!");
$Template->zahl = 12345;
//jetzt laden wir das entsprechende Template und lassen es ausgeben
$Template->display("test.tpl");
//und beenden die Klasseninstanz
$Template->close();
?>
Code:
<html>
<head>
<title><?=$this->titel?></title>
</head>
<body>
<?foreach($this->inhalt as $text):?>
<?=$text?><br/>
<?endforeach;?>
<?=$this->zahl?>
</body>
</html>
Nun kommen wir zur Abfrage. Ich habe es bereits mit folgendem Code versucht:
PHP-Code:
Datenbankabfrage Navigation
$dbabfrage2 = mysql_query("SELECT * FROM navi");
while($result2 = mysql_fetch_array($dbabfrage2))
{
$Template->inhalt = $result2[name_navi];
}
Warning: Invalid argument supplied for foreach() in C:\public\xampp\htdocs\pxcms\2\test.tpl on line 6
In Zeile 6 steht:
Code:
<?foreach($this->inhalt as $text):?>
PHP-Code:
<?php
class CTpl {
var $data; //Variablensammlung
var $isClosed;
function CTpl(){
$this->date = array();
$this->isClosed = false;
}
function __set($key, $value){
if($this->isClosed){
throw new Exception('Template already closed.');
}
$this->data[$key] = $value;
}
function __get($key){
if(!isset($this->data[$key])){
throw new Exception("$key isn't set!");
}
return $this->data[$key];
}
function display($template){
require($template);
}
function displayV($template){
ob_start();
require($template);
$templateV = ob_get_contents();
ob_end_clean();
return $templateV;
}
function close(){
$this->data = "";
$this->isClosed = true;
}
}
?>
Was läuft da falsch?
Viele Grüße
hossi

Kommentar