Ausgabe: PHP & MySQL Bildergalerie |
bigvillain
Pixelschubser Threadstarter
Beiträge: 4 |
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.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15: |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
|
... für 11 Einträge (Bilder) in der Datenbank.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
BILD |
|
Ich hoffe man versteht einigermaßen was ich meine.
Wäre euch sehr verbunden, wenn Ihr mir bei dem Problem helft.
Gruß Bigvillain
|
 Profil
Editieren
Zitieren
|
a-man
Mausakrobat
Beiträge: 154 |
Reicht ein Codeschnipsel?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22: |
|
---
Debian ruult...
KDE ruult...
Opera ruult...
|
 Profil
Website
Editieren
Zitieren
|
alexhaid
Fachidiot
Beiträge: 132 |
Also mir ist dieses Codeschnipsel nicht einleutend. Ein paar Kommentare und Erklärungen wären sicherlich sehr hilfreich - vor allem für Anfänger.
alex
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat
Beiträge: 159 |
Einfach eine Variable hochzählen lassen :
$i = 1
while schleife
{
//Anzeige Bild
echo " | ";
$i++;
if($i=='3')
{
echo " |
";
$i=1;
}
}
Ich hoffe das ist verständlich genung. Teil uns einfach kurz mit ob es funkioniert hat.
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
man kann das auch mit 2 verschatelten for-schleifen machen: http://www.webwork-community.net/posting2584_23_0.html (mein Script)
|
 Profil
Editieren
Zitieren
|
alexhaid
Fachidiot
Beiträge: 132 |
Hi schmchris.
Mein Kommentar war eher an a-man gerichtet. Mir ist sein Codebeispiel nicht einleuchtend.. warum z.b. in Zeile 12 $x mit mysql_num_rows() verglichen wird?! Eine Laufzähler für eine variable Spaltenanzahl, nach der bigvillain gefragt hat, ist für mich nicht zu erkennen?!
Und es geht mir auch darum, dass Code kommentiert wird und nicht einfach so hingesch(m)issen wird
alex
Diese Nachricht wurde geändert von: alexhaid |
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat
Beiträge: 159 |
Sorry das ich helfen wollte
Wollte nur schnell ein kurzes leicht verständliches Beispiel bringen.
|
 Profil
Editieren
Zitieren
|
alexhaid
Fachidiot
Beiträge: 132 |
Sorry das ich helfen wollte
Wollte nur schnell ein kurzes leicht verständliches Beispiel bringen. |
Danke danke danke
Das war auch wiederum gar nicht gegen deine Hilfe. Und du hast ja auch ganz vorbildhaft einen Kommentar in deinem Beispiel eingebaut
alex
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat
Beiträge: 159 |
Guckst du unten Geil oder
Jeder Zeile Code muss normal eine Zeile Kommentar vorangehen.
Einfach eine Variable hochzählen lassen :
$i = 1
// Solange Bedingung erfuellt durchlaufe die Schleife
while schleife
{
// Anzeige Tabellenteil mit Bild
echo " | ";
// Erhoehe $i um 1
$i++;
// Wenn die Variable $i den Wert 3 enthaelt fuehre folgendes aus
if($i=='3')
{
// Neue Zeile beginnen
echo " |
";
// Setze Variable wieder auf den Wert 1
$i=1;
}
}
 Profil
Editieren
Zitieren
|
alexhaid
Fachidiot
Beiträge: 132 |
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat
Beiträge: 159 |
Soll ich die
}
auch noch kommentieren ?
|
 Profil
Editieren
Zitieren
|
Xenon
Feiertags-Poster
Beiträge: 35 |
nur n tip:
in dem beispielen wird nicht darauf geachtet, dass die anzahl der spalten in jeder zeile gleich sein MUSS (oder mit colspan auf vervollständigt).
einfach eine zweite schleife hinten anstellen, die für i<3 jeweils | | addiert und danach erst das schliessende | ( weil alte netscapes die hintergrundfarbe leerer spalten falsch darstellen).
wenn die struktur mit tr, td nicht exakt eingehalten wird, dann stellen manche browser nur schrott dar.
(ms- frontpage... ist da das beste beispiel für nen editor, der so n mist macht, da könnte man fast meinen, die machen es absichtlich *g.)
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat
Beiträge: 159 |
@Xenon: Du hast natürlich Recht, aber ich hab die Tabelle ja noch nicht geschlossen
Daher wäre das außerhalb meines Code Schnipsels anzuordnen - also hintendran.
|  Profil
Editieren
Zitieren
|
a-man
Mausakrobat
Beiträge: 154 |
So, hab das jetzt auskommentiert...
ist zwar nicht die beste methode ( mysql_result() ), ich habs aber in meiner Seite so drinn (früher nicht gewusst) und bin zu faul zum ändern.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19: |
"; // neue zeile
echo ''. mysql_result($mysql_query,$x, 1). ' | '; // erstes feld
$x++; // $x wird erhöht, damit der nächste Datensatz ausgegeben wird
if ($x < mysql_num_rows($mysql_query)) { // wen es einen Datensatz mit der id = $x gibt, dann.... (muss nicht immer der Fall sein, zb
// wenn man 1,3,5,.... Datesätze hat)
echo ''. mysql_result($mysql_query,$x, 1). ' | '; // zweites feld
}
else { // wenn kein Datensatz da ist, dann soll er eine leere Zelle ausgeben...
echo " | ";
}
echo ""; // zeile ende
}
?>
|
hoffe, dass das jetzt verständlicher ist....
---
Debian ruult...
KDE ruult...
Opera ruult...
Diese Nachricht wurde geändert von: a-man |  Profil
Website
Editieren
Zitieren
| |