Neue Zeile nach 7 Zellen
Michel
- php
Moin,
das ist wohl ein bekanntes Problem, was ich da habe, dennoch bereitet es mir Kopfzerbrechen. Ich bin dabei eine Bildergalerie mit zehn Bildern zu basteln:
http://alexjonas.de/v2/foto.php?cat=kirche
Funktioniert soweit auch ganz gut. Oben links befindet sich eine Tabelle mit 10 Zahlen (noch statischer Code; mit denen sollen später die Bilder direkt anklickbar werden) in 14 Zellen. So soll es quasi hinterher aussehen.
Diese Tabelle möchte ich aber in PHP erzeugen. Wenn alle 10 Bilder in einer Zeile wären, wäre das kein Problem:
<table border="0" style="border-collapse: collapse"><tr>
<? for($x=1;$x<(10+1);$x++)
{
echo '<td class="bildliste" align="center"><b>'.$x.'</b></td>';
}
?>
</tr></table>
Es soll aber, wie auf meiner Seite, nach dem 7ten <TD>-Feld eine neue Tabellenzeile geschrieben werden, mit den restlichen Zellen. Und da weiß ich nicht, wie ich das (elegant) in meine Schleife einbauen kann. Bei 32 Bildern sollen dann auch automatisch 5 Zeilen à 7 Zellen erzeugt werden, bei 5 Bildern nur 1 Zeile.
Wie kann man das am besten realisieren? Mir ist klar, dass das Problem wahrscheinlich schon hundertmal gelöst wurde, aber ich wusste nicht so recht, wonach ich suchen sollte. Gibt es Tutorials, die sowas behandeln?
Grüße aus Hamburg
Michel (jetzt auch registriert)
Genau dasselbe Problem hatte ich neulich auch, aber mir half der Modulus-Operator...
Schau mal hier: http://forum.de.selfhtml.org/archiv/2004/12/t96982/#m589998
Natürlich sind bei mir Bilder in die Tabelle geladen worden, bei dir sind es Zahlen. Das ist einfacher.
Viel Glück, hans
Moin,
Genau dasselbe Problem hatte ich neulich auch, aber mir half der Modulus-Operator...
Erst mal vielen Dank für die schnelle Hilfe. Ich weiß zwar nicht genau wie und warum, aber das hat geholfen:
<table border="0" style="border-collapse: collapse"><tr>
//$summe ist die Gesamtzahl der Bilder (hier 8!)
<? for($x=1;$x<($summe+1);$x++)
{
echo "<td class="bildliste" align="center"><b>$x</b></td>\n";
if($x%7 == 0) { echo "</tr><tr>\n";}
}
?>
</tr></table>
Das Ergebnis sieht so aus:
<table border="0" style="border-collapse: collapse"><tr>
<td class="bildliste" align="center"><b>1</b></td>
<td class="bildliste" align="center"><b>2</b></td>
<td class="bildliste" align="center"><b>3</b></td>
<td class="bildliste" align="center"><b>4</b></td>
<td class="bildliste" align="center"><b>5</b></td>
<td class="bildliste" align="center"><b>6</b></td>
<td class="bildliste" align="center"><b>7</b></td>
</tr><tr>
<td class="bildliste" align="center"><b>8</b></td>
</tr></table>
Hat jemand eine Idee, wie ich jetzt nach der 8ten Zelle noch 6 weitere (leere) <TD>-Zellen einfügen kann, damit die Zeilen gleich breit sind?
Grüße aus Hamburg
Michel
Hat jemand eine Idee, wie ich jetzt nach der 8ten Zelle noch 6 weitere (leere) <TD>-Zellen einfügen kann, damit die Zeilen gleich breit sind?
Ich habe mal was von einer CSS-Eigenschaft namens emptycells oder empty-cells gehört. Suche mal danach. Ich selber habe sie noch nie benutzt, deshalb kann ich dir nur wenig darüber sagen.
Aber du kannst doch in die (zukünfigen) leeren Zellen mit einem erzwungenem Leerzeichen ( ) auffüllen. Nur mal so als Gedankenanstoß. Muss nicht wirklich funktionieren...
Moin,
Danke für deine Mühe, aber ich glaube ich lass es jetzt einfach so, wie es ist. Die Galerie sieht jetzt schon besser aus, als ich es mir vorgestellt hätte :-)
Grüße aus Hamburg
Michel
Danke für deine Mühe,
Kein Problem, dafür bin ich hier :)
aber ich glaube ich lass es jetzt einfach so, wie es ist. Die Galerie sieht jetzt schon besser aus, als ich es mir vorgestellt hätte :-)
Herzlichen Glückwunsch.
Viel Spaß noch am weiteren rumbasteln.
hans