PDA

Vollstndige Version anzeigen : Ausgabe: PHP & MySQL Bildergalerie


bigvillain
29-05-2004, 14:31
Hallo,
ich bin gerade bei der Ausgabe meiner PHP und MySQL Bildergalerie. Das Problem ist, dass ich es nicht hinbekomme, dass in jeder Zeile einer Tabelle jeweils 3 Spalten ausgegeben werden.

Zum Beispiel so...
... fr 7 Eintrgen (Bilder) in der Datenbank.


<table width="0" border="1">
<tr>
<td>BILD</td>
<td>BILD</td>
<td>BILD</td>
</tr>
<tr>
<td>BILD</td>
<td>BILD</td>
<td>BILD</td>
</tr>
<tr>
<td>BILD</td>
</tr>
</table>



... fr 11 Eintrge (Bilder) in der Datenbank.


<table width="0" border="1">
<tr>
<td>BILD</td>
<td>BILD</td>
<td>BILD</td>
</tr>
<tr>
<td>BILD</td>
<td>BILD</td>
<td>BILD</td>
</tr>
<tr>
<td>BILD</td>
<td>BILD</td>
<td>BILD</td>
</tr>
<tr>
<td>BILD</td>
<td>BILD</td>
</tr>
</table>


Ich hoffe man versteht einigermaen was ich meine.
Wre euch sehr verbunden, wenn Ihr mir bei dem Problem helft.

Gru Bigvillain

feuervogel
29-05-2004, 15:59
du kannst doch zhlen, wie viele bilder es sind, oder? und du kannst berechnen was beim teilen durch 3 brig bleibt. das, was brig bleibt bei 3 minus dem rest, ist die anzahl der zellen in der letzten zeile, die noch angefgt werden mssen.

Marilu
29-05-2004, 17:34
@bigvillain

> Das Problem ist, dass ich es nicht hinbekomme, dass in jeder Zeile einer Tabelle jeweils 3 Spalten ausgegeben werden.

Was bekommst Du daran denn nicht hin bzw. wo liegt das Problem?

bigvillain
29-05-2004, 18:12
@ feuervogel
Verstehe ich jetzt nicht ganz. Ich gehe mal davon aus, dass du mit "berbleibt" den Rest meinst.
Angenommen es sind dann 7 Bilder (zhlen ist kein Problem). 7:3= 2,333... Das wrde nach deinem Vorschlag dann 3 Zellen in der letzen Zeile sein?! Und das kann ja nicht stimmen.

@ Marilu
Das Problem ist, dass ich nicht weiss wie ich die Schleifen formulieren soll.
1.Das nach allen 3 Bildern die TD-Tags in TR-Tags verschachtelt werden.
2. Das zum Schluss die letzte Zeile nicht mit den 3 Zellen aufgefllt wird (wenn die anzahl der bilder nicht durch 3 glatt teilbar ist, siehe Beispiele).

feuervogel
29-05-2004, 18:48
also ich hab in der grundschule erfahren, was "teilen mit rest" bedeutet.

wenn du sieben durch 3 teilst, ist das 2 rest 1. d.h. eine zelle der letzten zeile wird mit einem bild aufgefllt. zu 3 spalten fehlen aber noch 2 zellen. also musst du noch 2 zellen anfgen, damits auch in der letzten zeile 3 spalten sind.

Marilu
30-05-2004, 00:29
Ich versuch's mal quick and dirty:

im Array $Bilder[] seien die Bilder. Count($Bilder) ist die Anzahl.

$number = count($Bilder);
$rows = floor($number / 3);
$last_row_pics = $number % 3;

echo "
<table width="0" border="1">";
for($i = 0; $i < $rows; $i++) {
echo "
<tr>";
for($j = 0; $j < 3; $j++) {
echo "
<td>Bild" . ($i * 3 + $j) . "</td>";
}
echo "
</tr>";
}
if($last_row_pics) {
echo "
<tr>";
for($j = 0; $j < $last_row_pics; $j++) {
echo "
<td>Bild" . ($i * 3 + $j) . "</td>";
}
echo "
</tr>";
}

echo "
</table>"

Fr Bild" . ($i * 3 + $j) . " mut Du z. B. Bild[$i * 3 + $j] einsetzen.