Seite 1 von 2

while schleife ins template system übergeben

Verfasst: 07.08.2006 19:28
von oconner
Hallo.

Ich möchte eine while schleife die eine datenbank abfrage macht in die tpl datei übergeben lassen. Nur leider funktioniert es noch nicht

der code sieht so aus

Code: Alles auswählen

				while ($row = $db->sql_fetchrow( $result ))
					{
					$template->assign_block_vars('schleife', array(
						'AUSGABE' $row->id
						));
					}
in der tpl

Code: Alles auswählen

<!-- BEGIN schleife -->
    {schleife.AUSGABE}
  <!-- END schleife -->
Kann mir jemand sagen was dort nicht simmt?
ja... ich habe mir das Tutorial schon angeguckt. ;)

Re: while schleife ins template system übergeben

Verfasst: 07.08.2006 19:59
von mad-manne
Mein erster Tipp wäre:

Code: Alles auswählen

				while ($row = $db->sql_fetchrow( $result ))
					{
					$template->assign_block_vars('schleife', array(
						'AUSGABE' => $row->id
						));
					}
Gruss,
Manne.

Verfasst: 07.08.2006 20:23
von Miriam
Was soll $row->id bewirken?

Also eher

Code: Alles auswählen

AUSGABE => $row['id']
$row sollte ein (assoziatives) Array sein, das die Wertepaare der SQL Abfrage enthält. Die Werte kannst Du auslesen indem Du den Wert für KEY einsetzt.

Also z.B.

Code: Alles auswählen

$name = $row['username'];
Falls Du nicht weisst wie das Array aussieht, kannst Du es versuchsweise mit

Code: Alles auswählen

print_r($row);
ausgeben lassen.
Dann siehst Du die Wertepaare.

Verfasst: 07.08.2006 20:25
von mad-manne
Wo du Recht hast .. hast du Recht 8)
... typischer Fall von Tomaten auf den Augen :D

Manne.

Verfasst: 07.08.2006 20:28
von oconner
@mad-manne oh sorry. das => zeichen habe ich aber in meinem code. ich habe ihn hier nur verkürzt hingeschrieben und daher wohl das => gelöscht.

Jetzt kann das Problem wohl nur noch an meiner mysql abfrage liegen, oder?

Denn Fehlermeldungen bekomme ich keine.

abfrage sollte so aussehen, oder?

Code: Alles auswählen

$sql = "SELECT * FROM " . TEST_TABLE . ";
			$result = $db->sql_query ( $sql ) OR message_die(GENERAL_ERROR, 'Could not query the ' . AFFILIATE_TABLE, __FILE__, __LINE__, $sql);

Verfasst: 07.08.2006 22:10
von Miriam
Probiere es mit

Code: Alles auswählen

$sql = "SELECT * FROM " . TEST_TABLE;

Verfasst: 07.08.2006 23:57
von oconner
grins.

hab ich auch schon versucht. Ich weis da war ein Fehler. Nur jetzt wies ich wirklich nicht mehr was ich noch ändern kann.

gibts außer error_reporting() in phpbb eine möglichkeit bewusst die fehler ausgeben zu lassen?

Verfasst: 07.08.2006 23:58
von S2B
Zeig nochmal deinen aktuellen Code, bitte. :wink:

Verfasst: 08.08.2006 00:37
von oconner
oki

Code: Alles auswählen

		
		$sql = "SELECT * FROM " . AFFILIATE_TABLE . " ORDER BY `affiliate_time` DESC";
			$result = $db->sql_query ( $sql ) OR message_die(GENERAL_ERROR, 'Could not query the ' . AFFILIATE_TABLE, __FILE__, __LINE__, $sql);
				while ($row = $db->sql_fetchrow( $result ))
					{
					$template->assign_block_vars('show_all_affiliates', array(
						'A_ID' => $row->affiliate_id,
						'A_URL' => $row->affiliate_url,
						'A_IMG' => $row->affiliate_img,
						'A_TITLE' => $row->affiliate_title,
						'A_HITS' => $row->affiliate_hits,
						'A_VISITS' => $row->affiliate_visits
						));
					}

Verfasst: 08.08.2006 00:39
von mad-manne
Hast du den hier übersehen ??
http://www.phpbb.de/viewtopic.php?p=744308#744308

Gruss,
Manne.