000
16.06.2004, 21:58
Ornest
|
Folgender Plan: Ich will eine Bilderübersicht erstellen. Eigentlich ganz einfach; es geht auch nicht um die Gallerie selbst, sondern um die Auflistung der Bilder. Die Bilder sollen tabellarisch angeordnet werden. Jeweils 5 Bilder in einer Reihe hintereinander in einzelnen Zellen und danach eine neue Reihe mit 5 Bildern usw.
Folgender Code:
<?php $list = '<table border="1">'; for($i = 1; $i <= $anzahlBilder; $i++) { if($i % 5 == 0) $list .= '<tr>'; $list .= '<td width="100" height="100" align="center" valign="center">'; $list .= '<a href="#">'.$i.' - '.($i % 5).'</a>'; $list .= '</td>'; if($i % 5 == 0) $list .= '</tr>'; } $list .= '</table>'; ?>
Folgendes Problem: Die Anordung klappt nicht ... wenn ich das Script ausführe, bekomme ich in etwa folgende Ausgabe:
1-1 2-2 3-3 4-4 5-0 6-1 7-2 8-3 9-4 10-0 11-1 ... ... ...
Das würde heißen, dass bei 4 % 5 der Rest 0 wäre ... ist er aber nicht. Ich hab es ja extra ausgeben lassen. Trotzdem macht er hier einen <tr> hin und beginnt eine neue Reihe. Das wäre ja nur halb so schlimm, wenn er nicht in der nächsten Reihe dann direkt nach einem Bild wieder nen <tr> hinsetzen würde.
Ist warscheinlich 'n total bescheuertes Problem, aber ich kriegs einfach nicht hin ...
--
|
|
Profil || Suche
|
001
16.06.2004, 22:36
TheTinySteini
|
Ehm... du hast dir nicht wirklich mal den HTML-Source angeguckt, den dein Script da erzeugt, oder? Dann solltest du nämlich den Fehler entdecken.
[edit] Etwas genauer: Was erzeugt wird, ist sowas: 1 2 3 4 <tr>5</tr> 6 7 8 9 <tr>10</tr> usw. Nicht wirklich das, was du willst.
--
TheTinySteini Coder Poke646 "Don't Panic" - Hitchhiker's Guide to the Galaxy
Dieser Beitrag wurde am 16.06.2004 um 22:37 von TheTinySteini bearbeitet.
|
|
Profil || Suche
|
002
16.06.2004, 22:46
Chronial
|
Versuchs mal mit dem Code (ist zwar nicht die Lösung zu deinem Problem, aber besser ;)
<?php $pictures = 100; for($i = 0; $i <= $pictures; $i++) { $list .= '<div style="width: 100px; height: 100px; text-align: center; float: left">'; $list .= '<a href="#">Bildnr '.$i.'</a>'; $list .= '</div>'; } ?>
Und zu deinem Problem: Was du da geschrieben hast, ist komplett wirr - schau dir einfach mal den html-code an, den das ganze produziert, dann wirst du auch sehen, wo das Problem liegt.
--
"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren
|
|
Profil || Suche
|
003
17.06.2004, 13:08
Ornest
|
Oh tatsächlich ... Vielen Dank euch zwei.
--
|
|
Profil || Suche
|
004
06.01.2005, 12:01
KiddiKai
|
Falls du bei deinem System bleiben willst, reicht es, ein einziges Zeichen zu ändern:
<?php $list = '<table border="1">'; for($i = 1; $i <= $anzahlBilder; $i++) { if($i % 5 == 1) $list .= '<tr>'; $list .= '<td width="100" height="100" align="center" valign="center">'; $list .= '<a href="#">'.$i.' - '.($i % 5).'</a>'; $list .= '</td>'; if($i % 5 == 0 || $i == count($anzahlBilder)) $list .= '</tr>'; } $list .= '</table>'; ?>
Ich habe lediglich aus dem ersten if($i % 5 == 0) ein if($i % 5 == 1) gemacht, schon funzt alles problemlos. Und zum Schluss habe ich noch ein || $i == count($anzahlBilder) eingefügt, damit deine letzte <tr>, unabhängig von der Anzahl der Bilder, auf jeden Fall geschlossen wird.
Edit: Ups, der letzte Post ist ja schon nen halbes Jahr her ^^"
--
Dieser Beitrag wurde am 06.01.2005 um 12:02 von KiddiKai bearbeitet.
|
|
Profil || Suche
|
005
06.01.2005, 12:18
CN
|
wahrscheinlich ist das schon lange gelöst
--
|
|
Profil || Suche
|