Datenbank Auslesen => in Teamplatesystem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Skeita
Mitglied
Beiträge: 377
Registriert: 13.10.2005 12:43
Wohnort: Bonn
Kontaktdaten:

Datenbank Auslesen => in Teamplatesystem

Beitrag von Skeita »

Hallo liebe Community...

Ich sitze nun schon den ganzen Tag an meinem "CMS" (http://phpbb.j-corner.de/PHP), aber ich komme bei der Einrichtung des Newssystem nicht voran!

Ich habe es geschafft, mein "CMS" in ein Templatesystem (habe das von phpBB gemopst ^^) zu integrieren und nun möchte ich die Werte, die ich aus der DB auslese (Autor-Name, Datum, Titel) natürlich nicht via echo in der news.php sondern mittels dieser "Variablen" in der news_body.tpl ausgeben. (zB {newsrow.AUTHOR})

Ich habe dafür zum einen die news.php:

Code: Alles auswählen

<?php
    $root_path = './';
    $pagename = "News";
    include($root_path . "includes/header.php");

    $template->set_filenames(array(
            "NEWS" => "templates/pimpBlue/news_body.tpl"
    ));

    $sql = "SELECT news_id, news_title, news_text, news_author, news_date FROM page_news ORDER BY news_date DESC";
    $result = mysql_query($sql) OR die(mysql_error());

    if(mysql_num_rows($result)) { // gucken ob was im Query drinsteckt
        while($row = mysql_fetch_array($result)) {
            $template->assign_block_vars('newsrow', array(
                'DATE' => $row['news_date'],
                'AUTHOR' => $row['news_author'],
                'TITLE' => $row['news_title'],
        	       'TEXT' => nl2br($row['news_text'])
                )
           );
        }
    } else {
        echo "Es sind keine News in der Datenbank vorhanden<br />\n";
    }
    include($root_path . "includes/vars.php");

    $template->pparse("NEWS");

    include($root_path . "includes/footer.php");
?>
und zum anderen die news_body.tpl:

Code: Alles auswählen

      	<table width="100%" class="dashedline" cellpadding="5" cellspacing="0" align="center" valign="top">
	  <tr>
	      <th colspan="2" class="cat">{L_NEWS}</th>
	  </tr>
  	  <tr>
	      <td class="row1" width="40%"><span class="explaintitle" style="font-weight: bold;">Autor:</span></td><td class="cat" width="60%">&nbsp;{newsrow.AUTHOR}</td>
	  </tr>
         </table>
Wo liegt der fehler? oO
Bisher kriege ich nämlich nur das angezeigt: http://phpbb.j-corner.de/PHP/news.php

Vielen Dank bereits im Vorraus.
Skeita


P.S. Nicht über den Code meckern...lerne erst seit heute PHP...
:-? [/code]
Mit freundlichen Grüßen, Erik Holz

PimpMyForum .de- Wir MODden dein Forum gratis!
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

hast du innerhalb der while schleife mal geschaut, ob $row gefüllt ist? z.B. mit print_r oder echo

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
Skeita
Mitglied
Beiträge: 377
Registriert: 13.10.2005 12:43
Wohnort: Bonn
Kontaktdaten:

Beitrag von Skeita »

Das Script sah ja zwischenzeitlich so aus:

Code: Alles auswählen

<?php
    $root_path = './';
    $pagename = "News";
    include($root_path . "includes/header.php");

    $template->set_filenames(array(
            "NEWS" => "templates/pimpBlue/news_body.tpl"
    ));

    $sql = "SELECT news_id, news_title, news_text, news_author, news_date FROM page_news ORDER BY news_date DESC";
    $result = mysql_query($sql) OR die(mysql_error());

    if(mysql_num_rows($result)) { // gucken ob was im Query drinsteckt
        while($row = mysql_fetch_array($result)) {
            echo $row['news_author'];
            echo $row['news_title'];
            echo nl2br($row['news_text']);
        }
    } else {
        echo"<p>Keine News vorhanden</p>\n";
    }

    include($root_path . "includes/vars.php");

    $template->pparse("NEWS");

    include($root_path . "includes/footer.php");
?>
Und das hat super funktioniert (müsste also erfüllt sein)...nun will ich das aber in der news_body.tpl ausgeben und bin komplett ratlos!
Mit freundlichen Grüßen, Erik Holz

PimpMyForum .de- Wir MODden dein Forum gratis!
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Hast Du error reporting auf ALL gesetzt? Damit erkennt man hier und da schneller Fehler.

In wie weit wird denn das Templatesystem included? Ich sehe nur die header.php.. passiert das da?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Code: Alles auswählen

       <!-- BEGIN newsrow -->
       <tr>
         <td class="row1" width="40%"><span class="explaintitle" style="font-weight: bold;">Autor:</span></td><td class="cat" width="60%">&nbsp;{newsrow.AUTHOR}</td>
       </tr> 
       <!-- END newsrow -->
:P
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Skeita
Mitglied
Beiträge: 377
Registriert: 13.10.2005 12:43
Wohnort: Bonn
Kontaktdaten:

Beitrag von Skeita »

@S2B: *umfall* ich sehe den Code vor lauter PHP nicht mehr... (oder so...)
Ich danke dir vielmals!

@mgutt: Werde deinen Rat beherzigen und error_reporting "anschalten".

LG, Skeita
Mit freundlichen Grüßen, Erik Holz

PimpMyForum .de- Wir MODden dein Forum gratis!
Antworten

Zurück zu „Coding & Technik“