Spaltenausgabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
angeben
anzahl
art
auftauchen
ausgeben
beispiel
code
durchlauf
ergebnis
erwarten
folgendes ergebnis
leeren stellen
letzte frage
platzhalter
position
re
sirius
tabelle
tabellenform
-
Ich habe eine ref="/tag/abfrage">Abfrage:
select * from lineups where feld4 = '2009-07-26 00:00:00' AND feld3 = '" . $guild . "' AND feld5 = '0' OR feld4 = '2009-07-26 00:00:00' AND feld2 = '" . $guild . "' AND feld5 = '1'
Diese Abfrage liefert mir folgendes Ergebnis in MySQL:
ID Feld1 Feld2 Feld3 Feld4 Feld5 Feld6 Feld7 Feld8 Feld9 1568 113 FoR SBW 2009-07-20 00:00:00 1 1 Caro 731 100 1569 113 FoR SBW 2009-07-20 00:00:00 1 3 Rahvin 409 100 1570 113 FoR SBW 2009-07-20 00:00:00 1 4 SiriuS 402 100 1571 113 FoR SBW 2009-07-20 00:00:00 1 7 Herr Lehmann 486 100 1572 113 FoR SBW 2009-07-20 00:00:00 1 9 Dragosia 434 100 1573 113 FoR SBW 2009-07-20 00:00:00 1 10 Marduk 356 100 1574 113 FoR SBW 2009-07-20 00:00:00 1 11 Kalliope 419 100
In Feld6 sind die Positionen angeben. Diese können von 1-11 in der Anzahl 5-7 auftauchen.
Ich möchte eine Tabelle mit einer PHP Abfrage generieren die wie folgt aussieht:
Position Ergebnis 1 Feld6->1 2 Feld6->2 3 Feld6->3 4 Feld6->4 5 Feld6->5 6 Feld6->6 7 Feld6->7 8 Feld6->8 9 Feld6->9 10 Feld6->10 11 Feld6->11
Jetzt kann natürlich passieren wie im oberem Beispiel, das keine Ergebnisse im Feld6 von 2, 5, 6 oder 8 ermittelt werden können.
Wie kann ich für die fehlenden einen Platzhalter schaffen, damit nicht die Ergebnisse als Liste wie mit so einem Beispiel erfolgt:
while($row = mysql_fetch_object($ergebnis)) { echo "<tr><td align='center'>",$row->Feld7," (",$row->Feld8,")</td></tr>";
Hoffe ich konnte mich verständlich ausdrücken.
Gruß
ZoeLeah -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo,
Ich bin mir leider nicht sicher, ob ich wirklich verstanden habe, was du zu erklären versucht hast, aber um auf deine letzte Frage zu Antworten:
Lass eine Variable mit hochzählen und vergleiche bei jedem Durchlauf, ob die Position gleich dieser Zählvariable ist, um für den Fall, dass es nicht zutrifft einen oder mehrere Platzhalter einzufügen.
Meine Frage wäre nur: warum Platzhalter? Für mich sieht das nach einer Art Toplist aus. Da würde ich keine leeren Stellen erwarten.
Grüße
styVe (qap2-Team) -
also logisch gesehen kann deine abfrage garnicht die von dir gepostete tabelle zurückliefern da die daten für feld4 nie übereinstimmen können.
In Feld6 sind die Positionen angeben. Diese können von 1-11 in der Anzahl 5-7 auftauchen.
damit kann ich auch irgendwie nichts anfangen...
aber nun zu der abfrage die du suchst:
soweit ich das verstehe möchtest du am ende eine tabelle ausgeben in dieser form
Position Ergebnis 1 Caro (731) 2 --- 3 Rahvin (409) 4 SiriuS (402) 5 --- usw.
zunächst musst du dafür diese abfrage ausführen:
$query = "SELECT Feld6, Feld7, Feld8 FROM lineups"; if(!$res = mysql_query($query)) die("error");
und das kannst du dann hiermit in der tabellenform ausgeben lassen:
echo "<table>"; echo "<tr><td align='center'>Position</td><td align='center'>Ergebnis</td></tr>"; $i = 1; while($row = mysql_fetch_array($res)){ while($i < $row["Feld6"]){ echo "<tr><td align='center'>".$i."</td><td align='center'>---</td></tr>"; $i++; } echo "<tr><td align='center'>".$row["Feld6"]."</td><td align='center'>".$row["Feld7"]." (".$row["Feld8"].")</td></tr>"; $i++; } echo "</table>";
du kannst dann natürlich anstatt der striche etwas anderes als platzhalter schreiben -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage