kostenloser Webspace werbefrei: lima-city


Spaltenausgabe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    z*****h

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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)
  4. 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
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!