PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Galerie aus datenbank


Defcavy
27.03.2002, 01:13:20
1

Big2k
27.03.2002, 10:24:56
Haste mal versucht das so zumachen, Tabelle öffnen die Zeilen in einer Schleife ausgeben } schließt und dann das </table>-Tag unter die schleife machst?

Kann Dir wenn ein Beispiel posten wenn Du es nicht verstanden hast.

Defcavy
27.03.2002, 10:29:33
1

rew
27.03.2002, 10:34:04
Wie sieht denn dein code aus? Ich kanns mir nicht so ganz vorstellen, wie es aussieht...

Defcavy
27.03.2002, 11:01:19
1

septicus
29.03.2002, 21:15:17
Die Lösung ist ganz einfach:

du ziehst innerhalb der While-Schleife eine variable mit, bspw. $i. die wird bei jedem Durchlauf um 1 erhöht ($i=$i+1;)

Dann schreibst du einfach folgende Bedinung mit in die Schleife rein:

if ($i % 5 = 0) {
echo ("</tr><tr>");
}

Die 5 ist die Anzahl der gewünschten bilder nebeneinander. das % ist der Modulo, ein Operator, der den REST einer Division liefert.

das ganze Skript sieht also wie folgt aus (Der sql-String muss natürlich angepasst werden, ich habe hier einfach mal zugrunde gelegt, dass die INfos in einer Datenbank namens "db" und darin in einer Tabelle namens "images" stehen. Der bildpfad steht in einer Spalte mit dem namen "imgpfad", die Infos zum Bild in einer Spalte namens "info"):

--------------------------------
<table>
<tr>
<?php

$sql = mysql_db_query("db","SELECT * FROM images");
while ($rubrik = mysql_fetch_array ($sql)) {
echo"<td>" . $rubrik["info"] . "</td>";
echo"<td><img src=" . $rubrik["imgpfad"] . ""></td>";

if ($i % 5 = 0) {
echo ("</tr><tr>");
}
}
?>
</tr></table>
--------------------------------

Das spart jede Menge Code und ist zudem noch recht sauber ;-)

UncleKracker
13.10.2006, 21:10:57
Hi septicus!

Würde dieses Script auch dann funktionieren, wenn in der Datenbank die "id" für die Bilder nicht in direkter Reihenfolge liegen; bedingt durch unterschiedliche Kategorieren oder gelöschter Datenbankeinträge?