Seite 1 von 1

Probleme beim Lesen der Datenbank

Verfasst: 12.08.2006 17:41
von Apotemnophiliac
Hallo
Ich arbeite an einem MOD und bekomme nun folgende Fehlermeldung:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programme\xampp\htdocs\gewinnspiel\gewinnspiel.php on line 60

Hier der Quellcode: hier

Ich weiß nicht wo der Fehler liegt :( vll kann jemand von euch mir helfen

Liebe Grüße


edit: Fehler behoben

Verfasst: 12.08.2006 18:21
von Miriam
Probiere das hier in deinem Quellcode:

Folgenden Code austauschen (zwischen den Bemerkungen:

Code: Alles auswählen

// Gewinnspiele auslesen
$sql = "SELECT id, name, bildurl, beschreibung, datum, ende
FROM " . GEWINNSPIEL_TABLE;

if( !($result = $db->sql_query($sql)) )
{
        message_die(GENERAL_ERROR, 'Error: ', '', __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
                $id = $row['id'];
                $name = $row['name'];
                $bildurl = $row['bildurl'];
                $beschreibung = $row['beschreibung'];
                $datum = $row['datum'];
                $ende = $row['ende'];

                $template->assign_block_vars('gewinnspiel', array(
                        'ROW_NUMBER' => $i + ( $start + 1 ),
                        'ID' => $id,
                        'NAME' => $name,
                        'BILDURL' => $bildurl,
                        'BESCHREIBUNG' => $beschreibung,
                        'DATUM' => $datum,
                        'ENDE' => $ende)
                );


}
$db->sql_freeresult($result);


// Header laden und Template Datei zuweisen

Verfasst: 12.08.2006 18:47
von Apotemnophiliac
Hallo!
Hab das Problem schon gelöst gehabt (siehe edit), doch deine Version funktioniert auch - Nun habe ich das Problem, dass er mir den Inhalt aber irgendwie nicht an die .tpl datei übergibt, obwohl ich dies doch mit assign_block_vars tue.

Der Teil in der .tpl Datei sieht so aus:

<!-- BEGIN gewinnspiel -->
<table width="600" cellpadding="3" cellspacing="1" border="0" class="forumline" align="center">
<tr>
<td class="catHead" colspan="2" height="28"><span class="cattitle">{DATUM}- {NAME}</td>
</tr>
<tr>
<td class="row1" align="center" valign="middle" rowspan="2" width="100">{BILDURL}</td>
<td class="row1" align="left" ><span class="gensmall">{BESCHREIBUNG}</span></td>
</tr>
<tr>
<td class="row1" align="left"><span class="gensmall">{ENDE}</span></td>
</tr>
</table>
<!-- END gewinnspiel -->

Verfasst: 12.08.2006 19:05
von BB-BF-BM
Kleiner Fehler:

Code: Alles auswählen

<!-- BEGIN gewinnspiel -->
<table width="600" cellpadding="3" cellspacing="1" border="0" class="forumline" align="center">
<tr>
<td class="catHead" colspan="2" height="28"><span class="cattitle">{gewinnspiel.DATUM}- {gewinnspiel.NAME}</td>
</tr>
<tr>
<td class="row1" align="center" valign="middle" rowspan="2" width="100">{gewinnspiel.BILDURL}</td>
<td class="row1" align="left" ><span class="gensmall">{gewinnspiel.BESCHREIBUNG}</span></td>
</tr>
<tr>
<td class="row1" align="left"><span class="gensmall">{gewinnspiel.ENDE}</span></td>
</tr>
</table>
<!-- END gewinnspiel -->
Ansonsten wird nach Variablen gesucht, die mit assign_vars() ans Temlpate übergeben wurden.
Siehe auch KB:template_syntax.

Verfasst: 12.08.2006 19:15
von Apotemnophiliac
Hallo!
Danke - Versteh schon meinen Fehler.
Wenn ich aber nun mehrere Zeilen in der Datenbank habe, müsste er mir ja den Teil in der .tpl Datei vermehrt untereinander ausgeben oder irre ich mich da? Denn genau dies tut er nicht.

Verfasst: 12.08.2006 20:11
von Miriam
Apotemnophiliac hat geschrieben:...
Wenn ich aber nun mehrere Zeilen in der Datenbank habe, müsste er mir ja den Teil in der .tpl Datei vermehrt untereinander ausgeben oder irre ich mich da? Denn genau dies tut er nicht.
Hast Du den kompletten Code, den ich ändernderweis gepostet hatte ausgetauscht? falls nein ändere bitte noch

Code: Alles auswählen

if ( $row = $db->sql_fetchrow($result) )
{
                $id = $row['id']; 

Code: Alles auswählen

while ( $row = $db->sql_fetchrow($result) )
{
                $id = $row['id']; 
und die While-Schleife so ändernd, dass das While als Schleife weg ist und nur noch

Code: Alles auswählen

$db->sql_freeresult($result);
da steht. Dann sollte es passen.... auch mit dem Füllen der Template Variablen.

Verfasst: 12.08.2006 20:20
von Apotemnophiliac
Hallo Miriam
Super vielen Dank für deine Hilfe :) hast mich wirklich um einiges weitergebracht!

danke dir nochmals!

Liebe Grüße