PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Ausgabe: PHP & MySQL Bildergalerie (http://www.selfphp.de/forum/showthread.php?t=7824)

bigvillain 29.05.2004 13:31:57

Ausgabe: PHP & MySQL Bildergalerie
 
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...
... für 7 Einträgen (Bilder) in der Datenbank.


PHP-Code:

<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



... für 11 Einträge (Bilder) in der Datenbank.


PHP-Code:

<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 einigermaßen was ich meine.
Wäre euch sehr verbunden, wenn Ihr mir bei dem Problem helft.

Gruß Bigvillain

feuervogel 29.05.2004 14:59:59

du kannst doch zählen, 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 angefügt werden müssen.

Marilu 29.05.2004 16:34:09

@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 17:12:40

@ feuervogel
Verstehe ich jetzt nicht ganz. Ich gehe mal davon aus, dass du mit "überbleibt" den Rest meinst.
Angenommen es sind dann 7 Bilder (zählen ist kein Problem). 7:3= 2,333... Das würde 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 aufgefüllt wird (wenn die anzahl der bilder nicht durch 3 glatt teilbar ist, siehe Beispiele).

feuervogel 29.05.2004 17:48:08

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 aufgefüllt. zu 3 spalten fehlen aber noch 2 zellen. also musst du noch 2 zellen anfügen, damits auch in der letzten zeile 3 spalten sind.

Marilu 29.05.2004 23:29:48

Ich versuch's mal quick and dirty:

im Array $Bilder[] seien die Bilder. Count($Bilder) ist die Anzahl.
PHP-Code:

$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 $j) . "</td>";
        }
    echo 
"
    </tr>"
;
    }
    if(
$last_row_pics) {
        echo 
"
        <tr>"
;
            for(
$j 0$j $last_row_pics$j++) {
                echo 
"
                <td>Bild" 
. ($i $j) . "</td>";
            }
        echo 
"
        </tr>"
;
    }

echo 
"
</table>" 

Für Bild" . ($i * 3 + $j) . " mußt Du z. B. Bild[$i * 3 + $j] einsetzen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12:20 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.