Template Parser (Anfänger) - PHP einfügen?

ka/na

Mitglied
Hi,

wie kann ich in dem Tutorial "Template Parser (Anfänger)"
http://www.tutorials.de/tutorials23173.html

einen PHP Code einfügen?
Diesen hier möchte ich gerne einbauen, was ja nicht in dem HTML Temlate geht:

$conn = mysql_connect("localhost", "xxxxxx", "xxxxxx");
mysql_select_db("xxxxxx",$conn);

$q = mysql_query("SELECT pic_id, pic_username FROM phpbb_album ORDER BY RAND()");
$data = mysql_fetch_array($q);
$id = $data['pic_id'];
$username = $data['pic_username'];

<?php echo $id; ?>
<?php echo $username; ?>
Also das ich die echo Ausgaben mit Platzhaltern im Template einfügen kann.
 
Hi,

Füg doch in dem Array einfach weitere Felder an, mit denen du die ID und den Usernamen parst.

PHP:
$var_array = array("TITLE" => $title,
                    "CSS" => $css,
                    "TEXT" => $text,
                    "ID" => $id,
                    "USERNAME" => $username);

In der HTML Datei kannst du dann mit (ID) und (USERNAME) die ID und den Usernamen ausgeben.
 
Soo, habe jetzt alles gemacht was ich kann, aber der Inhalt(PICUSERNAME) und (PICID) wird nicht ausgegeben. Noch nichtmal die beiden Platzhalter werden ausgegeben. Das Template System läuft weiter wunderbar.

Was habe ich falsch gemacht?:
<?php
//Script zum zeilenweisen Parsen von HTML Templates
//20.03.2003 Nils 'Jonathan' Adomeit LV1.2

//Einbinden der Template Klasse
include("tpl_parser.inc.php");

//Andere Datenbank
$conn = mysql_connect("localhost", "DB2", "xxxxxx");
mysql_select_db("xxxxxx",$conn);

//Auswahl andere Datenbank
$q = mysql_query("SELECT pic_id, pic_username FROM phpbb_album ORDER BY RAND()");
$data = mysql_fetch_array($q);

//Uservariablen für den Datenbankzugang
$mysql["host"] = "localhost";
$mysql["user"] = "DB1";
$mysql["password"] = "xxxxxx";
$mysql["database"] = "xxxxxx";

//Definition der KATEGORIE, Wenn keine KAT uebergeben wurde
//nimmt das System die Standard KAT
if(!isset($_GET["kat"])){ $kat = home; }
if(!isset($kat)){ $kat = $_GET["kat"];}

//Datenbankverbindung aufbauen und Datenbank auswaehlen
mysql_connect($mysql["host"],$mysql["user"],$mysql["password"]);
mysql_select_db($mysql["database"]);

//Datenbankabfrage zusammenstellen
$sql = "SELECT * FROM doc_desc, doc_text "
. "WHERE doc_desc.kat = doc_text.kat AND doc_text.kat = '".$kat."'";

//Datenbank wird abgefragt
$_result = mysql_query($sql) or die("Fehler: ".mysql_error()."<br>SQL-QUERY: ".$sql);
//Das Ergebniss wird in dem Feld ($_array) gespeichert
if(mysql_num_rows($_result) != 1)
{
$sql = "SELECT * FROM doc_desc, doc_text "
. "WHERE doc_desc.kat = doc_text.kat AND doc_text.kat = 'home'";
$_result = mysql_query($sql);
}
$_array = mysql_fetch_assoc($_result);

//Definition der Variablen durch die die Platzhalter ersetzt werden.
$title = $_array["title"];
$css = $_array["css"];
$template = $_array["template"];
$text = $_array["text"];
$pic_id = $_array["pic_id"];
$pic_username = $_array["pic_username"];

//Array mit den Platzhaltern (Keys) und den Inhalten.
$var_array = array("TITLE" => $title,
"CSS" => $css,
"TEXT" => $text,
"PICID" => $pic_id,
"PICUSERNAME" => $pic_username);

//Initialisierung der Klasse und Parsen des Templates
$tpl = new parser($template, $var_array);

?>
 
Hi,

hast du denn schon mal geprüft, ob dein MySQL Query die dementsprechenden Werte zurückliefert?

Ich sehe gerade, dass es keine Werte zurückliefern kann, da sich in der Tabelle, die du mit $_array[] ansprichst, gar keine ID und gar keinen Usernamen befinden.

Dort, wo sich die ID und der Usernamen befindet, sprichst du das Array $data[] an. Dementsprechend muss dein Code nicht so:

PHP:
$title = $_array["title"];
$css = $_array["css"];
$template = $_array["template"];
$text = $_array["text"];
$pic_id = $_array["pic_id"];
$pic_username = $_array["pic_username"];

sondern

PHP:
$title = $_array["title"];
$css = $_array["css"];
$template = $_array["template"];
$text = $_array["text"];
$pic_id = $data["pic_id"];
$pic_username = $data["pic_username"];

aussehen.

Ich hoffe, dass ich dir damit weiterhelfen konnte.
 
Aber jetzt mal was anderes, ich möchte eine externe php datei miteinfügen.
Dort sind meine Partner gespeichert:

partner.php
<?php
$link[]='<a href="http://www.partner1.de" target="_blank">Partner1.de</a>';
$link[]='<a href="http://www.partner2.com" target="_blank">Partner2.com</a>';
$link[]='<a href="http://www.partner3.de" target="_blank">Partner3.de</a>';

// Diese Linkreihe kann man nach Belieben weiterführen


$anzahllinks=count($link); // Zählt die Anzahl der Werte im Array

srand((double)microtime()*1000000); // Startwert
shuffle($link);

for($i=0; $i<5; $i++) {
echo $link[$i]; // Gibt aus
}
?>

Ich denke mal ich muss die dann includen, also in die index.php:
include("partner.php");

Aber jetzt wird es wieder schwer für mich:

//Definition der Variablen durch die die Platzhalter
$title = $_array["title"];
$css = $_array["css"];
$template = $_array["template"];
.......

Wie würde das mit dem Partnerscript aussehen, also wie genau kommt das

dort rein?
 
Zuletzt bearbeitet:
Zurück