Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- Ausgabe als Tabelle nach 4 Spalten neue Zeile anfangen (https://www.gegen-bilderklau.net/thread.php?threadid=181520)
Geschrieben von +Debbie+ am 20.08.2011 um 22:32:
Ausgabe als Tabelle nach 4 Spalten neue Zeile anfangen
Hallo ihr,
habe folgendes Problem: Ich möchte mit PHP etwas aus einer Datenbank ausgeben lassen, z.B. alle Pferde die 3 Jahre alt sind. Die Ausgabe erfolgt durch eine while Schleife als Spalte einer Tabelle
php: |
1:
2:
3:
|
// hier steht die Abfrage aus der Datenbank, Schleife, Echo & Co.
echo "<td width="25%" height="30">$AUSGABE[pferdename]</td>";
// hier folgt das Ende der Tabelle etc. |
|
Nun möchte ich aber, dass nach 4 Ausgaben eine neue Zeile (<tr>) angefangen wird. Ist sowas möglich und wenn ja wie? Würde mich über Hilfe freuen.
LG Debbie
Geschrieben von Nanni am 21.08.2011 um 00:06:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
|
<?php
include("datenbank.php");
echo "<table>";
$Pferd = mysql_query("SELECT * FROM Pferde WHERE Geschlecht = 'Hengst'");
while($Data = mysql_fetch_array($Pferd)) {
echo "<tr><td>$Data[Zuchtname]</td>";
if ($Data = mysql_fetch_array($Pferd)){
echo "<td valign=top>$Data[Zuchtname]</td>"; } else {
echo "<td valign=top> </td>"; }
if ($Data = mysql_fetch_array($Pferd)){
echo "<td valign=top>$Data[Zuchtname]</td>"; } else {
echo "<td valign=top> </td>"; }
if ($Data = mysql_fetch_array($Pferd)){
echo "<td valign=top>$Data[Zuchtname]</td></tr>\n"; } else {
echo "<td valign=top> </td></tr>\n"; }
}
echo "</table>";
?> |
|
Ich habs jetzt nur kurz getestet, aber bei mir klappts
Geschrieben von +Debbie+ am 21.08.2011 um 00:17:
Hey,
danke für Deine schnelle Antwort, aber der Code ist wohl eher nicht so das was ich gesucht habe. Bei der If-Abfrage wird aber immer ein true rauskommen, da $Data stimmt. Also führt es nur die erste If-Anweisung aus, das else nicht.
Ich möchte folgendes erreichen:
AUSGABE 1 | AUSGABE 2 | AUSGABE 3 | AUSGABE 4 | NEUE ZEILE
AUSGABE 5 | AUSGABE 6 | AUSGABE 7 | AUSGABE 8 | NEUE ZEILE
Geschrieben von Nanni am 21.08.2011 um 00:23:
Das else dient ja nur dazu, ein leeres Feld auszugeben, wenn die Spalte noch nicht voll ist aber es keine Pferde mehr gibt ;D.
Ich zeigs dir mal an einem
Beispiel - es sei denn du meinst statt "neuer Zeile" eine neue Spalte? Oder etwas andres, das ich nicht kapier ^^
Geschrieben von +Debbie+ am 21.08.2011 um 00:28:
Hm ... hätte nicht gedacht dass das wirklich funktioniert ;-)
Kannst Du mir erklären warum das funktioniert? Versteh ich nicht so ganz ...
Geschrieben von Nanni am 21.08.2011 um 00:38:
Zuerst hast du die Abfrage, dann eine while-Schleife, die beinhaltet:
Öffnen der Tabellenzeile (<tr>) und einen Datensatz ausgeben;
Die erste if-Abfrage - wenn ein Pferd vorhanden ist, eine Tabellenspalte mit dem Namen, ansonsten eine leere Tabellenspalte;
Die zweite if-Abfrage - entweder Pferdename, oder leere Spalte;
Die dritte if-Abfrage - entweder Pferdename, oder leere Spalte, anschließend die Zeile beenden (</tr>).
Joa, das läuft solange wie Pferde übrig sind
Geschrieben von +Debbie+ am 21.08.2011 um 14:13:
Hm ... Ich glaube aber nicht dass das so die beste Lösung ist. Habe eine etwas "elegantere" Lösung gefunden, aber danke trotzdem für Deine Hilfe :-)
Forensoftware: Burning Board, entwickelt von WoltLab GmbH