Zum Inhalt springen

Tabellenzeile in Marker schreiben

Erstellt am 4. Juli 2011 · 6 Antworten · letzte Antwort am 6. Juli 2011

Tags: PHP, Frage

mad1200 ·

Hallo,
hat jemand ein Beispiel, wie man eine Tabelle in ein html Template packt,bzw. Marker füllt.
Ich lese die Daten zeilenweise aus

foreach($result[$i] as $var=>$value){
        "und hier scheitere ich "
     }

Und wie muß das template aufgebaut sein?

Danke für Antworten

MorphexX ·

Guten Morgen mad1200,

mit welcher Engine arbeitest du denn für Templates? Das wäre in diesem Fall sehr wichtig.

Solltest du mit Fluid arbeiten, so findet die Logik außerhalb des Templates statt. In diesem Fall übergibst du Zeile um Zeile der Datenbank-Ressource in ein Array, das du dann wiederum einfach an Fluid übergibst. Mit hilfe von View Helper kannst du dann die Daten des Array im Template ausgeben. Beispiel: f:for.

Der damalige Weg hingegen erfordert es, dass auch der Layout-Code in der Logik landet. dann übergibst du nicht mehr alle Zeilen einfach nur in ein Array, sondern musst sozusagen so etwas schreiben:

<?
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select_fields, $from_table, $where_clause);

while ($this->internal['currentRow'] = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {

	$rowOutput .= $this->cObj->wrap(
		$this->internal['currentRow']['spalte_mit_gewuenschtem_inhalt'], 
		$lConf['itemWrap']
	);

}

$output = $this->cObj->wrap(
	$rowOutput,
	$lConf['listWrap']
);

return $output;
?>
aemka ·

Selbst wenn du auf pibase arbeitest, heißt das nicht, dass du fluid nicht nutzen kannst. Das funktioniert auch super ohne extbase und erspart einem jede Menge php-code und Zeit.