Thread Verfasser: Final22
Thread ID: 833
Thread Info
Es gibt 9 Beiträge zu diesem Thema, und es wurde 3838 Mal angesehen.
 Thema drucken
PHP SQL Loop
Final22
Hallo,

Ich bin noch ein Anfänger mit PHP Programmierung, dennoch probiere ich dies zu ändern und gebe mir selber immer ein Projekt.

Dieses Mal wollte ich eine Auflistung haben die sich Wiederholt. Diese sollte so aussehen das ich eine DB Tabelle habe mit "ID", "Tausch_ID", "Team_anfrage", "Team_bestaetigung", "Text", "Team_ID".

Ein Tausch sieht in der DB so aus:

"1" (ID), "1" (Tausch_ID), "29" (Team_anfrage), "18" (Team_bestaetigung), "5" (Text), "18" (Team_ID).

"2" (ID), "1" (Tausch_ID), "29" (Team_anfrage), "18" (Team_bestaetigung), "22" (Text), "18" (Team_ID).

"3" (ID), "1" (Tausch_ID), "29" (Team_anfrage), "18" (Team_bestaetigung), "541" (Text), "29" (Team_ID).

Bei Tausch_ID haben alle die gleiche Zahl, die auch im selben Tausch eingebunden sind, Team_anfrage ist die Team_ID (andere Tabelle) von dem Team der die Anfrage geschickt hat, Team_bestaetigung ist die Team_ID von dem Team der die Anfrage bestätigen muss, Text ist eine ID die für einen Spieler (Fussball) steht, Team_ID steht für das Team der den Spieler hat.


Ich möchte gerne das es eine Wiederholung gibt die von "Tausch_ID" ausgeht z.b. eine Tabelle wieder holt wird und in Tabelle 1 alles was mit "Tausch_ID" = 1 zu tun hat drin steht und als nächstes dann mit = 2 usw.

Ich habe gegoogelt und habe dieses Beispiel gefunden, doch ich bekomme dies nicht hin. Kann mir wer helfen?


01. $players[0] = array(50, 110, 130);
02. $players[1] = array(50, 145, 170);
03. $players[2] = array(50, 90, 205);
04.
05. $count1 = count($players);
06.
07. for ($i=0; $i<$count1; $i++) {
08.
09. $count2 = count($players[$i]);
10. echo 'Player ' . ($i+1) . ' Scores: ';
11.
12. for ($j=0; $j<$count2; $j++) {
13.
14. echo $players[$i][$j] . ', ';
15.
16. }
17.
18. echo '<br />';
19.
20.}


Bei meinem Fall müsste doch $i = das Feld "Tausch_ID" sein oder sehe ich das Falsch?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Sortiere einfach nach Tausch_id.
Gib alle Einträge aus und mach wenn sich die Tausch_id ändert einfach eine neue Tabelle.
Welche Version des Online- Transfer-Liga Scriptes benutzt du?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Final22
Oke, aber wenn ich ORDER BY Tausch_id mache, dann habe ich zwar alle die zu dem Tausch gehören bei einander aber wie kriege ich es hin das er bei jeder neuen Tausch_ID eine neue Tabelle darstellt?

-
Tabelle1 mit Überschrift
Tausch1
Spieler1
Spieler2
Tabelle1 Ende
-
Tabelle2 mit Überschrift
Tausch2
Spieler1
Spieler2
Spieler3
Tabelle2 Ende
-
...
usw.


Das weiß ich gar nicht welche Version ich benutzte Wink
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Anonymer Benutzer
Die Ausgabe kannst du schon sortieren auch das Datum. Ich schauhe morgen bzw. am Montag nach dem Code. Denn die Sortierung geht schon in der result Abfrage.
Seitenpanel oder Mittelpanel?

Die Tabellenstruktur solltest du posten, so kann man eventuell schon vorher was bewerkstelligen.
Bearbeitet von Anonymer Benutzer am 01. April 2016 20:40:14
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Final22
Mitte
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Anonymer Benutzer
Tabelenstruktur ist von Nöten....aber alles Montag bzw. Laufe der Woche ..ok
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
SuNflOw
Hallo,

ich würde es so lösen:

SELECT * FROM _my_table_ ORDER BY Tausch_ID, Team_ID, ID

$Letzte_Tausch_ID = 0;
while($data = dbarray($result)) {
  if($Letzte_Tausch_ID != $data['Tausch_ID']) {
    if($Letzte_Tausch_ID != 0) echo "</table>";

    echo "<table><tr><th>Tabelle".$data['Tausch_ID']." mit Überschrift</th></tr>";
    $Letzte_Tausch_ID = $data['Tausch_ID'];
  }

  echo "<tr><td>".$data['Text']."</td></tr>";
}

if($Letzte_Tausch_ID != 0) echo "</table>";


#ungetestet

Liebe Grüße,
SuN
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Final22
Ich melde mich erst jetzt wieder, da im Moment bei der Arbeit die Höhle los ist.


Ich habe noch keine Lösung gefunden. Es würde mir viel daran liegen, wenn mit jemand helfen würde.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
John Doe
Solltest du es noch nicht geschafft haben, so melde dich per pn bei mir. Es sollte dir aber mit der o.g. Lösung gelingen.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: