Gepostet am:13.06.2004 21:16
#1
Wieso wird hier nur eine Zeile ausgegeben?
13.06.2004 21:16 Ich habe wieder etwas an dem Modul CDBase gebastelt und möchte den Block für die neu eingetragenen Alben so erweitern, daß die 10 letzten eingetragenen Alben angezeigt werden. Die Abfrage selber steht und funktioniert auch, aber ich finde den Grund nicht, warum immer nur der letzte Eintrag ausgegeben wird - vielleicht kann mir jemand weiterhelfen?
Zitat:
function last_disc_show() {
global $xoopsDB;
$block = array();
$myts =& MyTextSanitizer::getInstance();
// Auslesen der Daten aus der Datenbank - Abfrage begrenzt auf 10 Einträge
$sql = "SELECT d.id_art, d.album, d.sello, d.imagen, d.imagen2, d.anio, d.descripcion, a.artista FROM ".$xoopsDB->prefix("cdbase_discs")." as d, ".$xoopsDB->prefix("cdbase_artists")." as a WHERE a.id_art=d.id_art ORDER BY id DESC LIMIT 0,10";
$result = $xoopsDB->query($sql);
while (list($id_art, $album, $sello, $imagen, $imagen2, $anio, $descripcion, $artista) = $xoopsDB->fetchRow($result)) {
// Aufbereiten der Daten für die Templates
$album = $myts->makeTboxData4Show($album);
$sello = $myts->makeTboxData4Show($sello);
$imagen = $myts->displayTarea($imagen, 0, 0, 1, 1);
$imagen2 = $myts->makeTboxData4Show($imagen2);
$anio = $myts->makeTboxData4Show($anio);
$descrepcion = $myts->makeTboxData4Show($descripcion);
$artista = $myts->makeTboxData4Show($artista);
// Definition der Smarty-Variablen für die foreach-Schleife
$info['image']=$imagen;
$info['produktion']=$imagen2;
$info['beschreibung']=$descripcion;
$info['label']=$sello;
$info['artist']=$artista;
$info['disc']=$album;
$info['id_art']=$id_art;
$info['jahr']=$anio;
$block['info'][] = $info;
return $block;
}
}
Normalerweise müßten doch jetzt bei der Ausgabe im Block über das Template auch alle 10 ausgelesenen Einträge ausgegeben werden, das geschieht aber nicht! So lasse ich es im Template ausgeben
Zitat:
<{foreach item=info from=$block.info}>
<table class="itemHead">
<tr>
<td align="center">
<a href="<{$xoops_url}>/modules/cdbase/index.php?id_art=<{$info.id_art}>"><{$info.image}></a>
</td>
<td>
<p><a href="<{$xoops_url}>/modules/cdbase/index.php?id_art=<{$info.id_art}>"><{$info.artist}></a> |
<{$info.disc}> | <{$info.label}> (<{$info.jahr}>)</p>
<p align="justify"><{$info.beschreibung}></p>
<p align="right"><{$info.produktion}></p>
</td>
</tr>
</table>
<{/foreach}>
Im Block wird jetzt aber leider nur der letzte Eintrag angezeigt - die anderen 9 Einträge werden unterschlagen. An welcher Stelle mache ich den Fehler?
migoe
Wenn Du denkst Du denkst, dann denkst Du nur, Du denkst

--- www.liedermacher-forum.de ---...