WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » [MySQL] Zeilen in Gruppen mit Kategorie ausgeben » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von subjective
Mit Sicherheit nicht. GROUP BY erstellt Zusammenfassungen von Daten - du willst aber alle. Von daher wäre es nicht logisch. Mit einem JOIN wäre es wohl auch nicht getan, da du wohl nur ein Tabelle hast. Die Ausgabe ist Sache von PHP.

1) Abfragen der Daten sortiert nach stage und name
2a) beim direkten Ausgeben letzten stage merken und bei Änderung Stage-Überschrift ausgeben.
2b) ein verschachteltes Array aufbauen nach den Schema $data[$row['stage']][] = $row

von zeTo
jupp, join wäre natürlich eine Möglichkeit, allerdings sind es im Grunde nur vier stages, so dass es sich nicht wirklich lohnen würde.
Die Variante mit den Schleifen und dann Überprüfen werde ich dann wohl letztlich benutzen...
Ich war mir nur sicher, dass ich das mit dem "group by" mal irgendwo sehr einfach gesehen habe...
von languitar
Guck dir mal left und right join an. Allerdigns müsstest du da im Grunde noch ein extra Tabelle für die Stages machen.

Bei deiner Schleifenvariante musst du halt überprüfen ob das jeweilige Element, dass du gerade anzeigen willst, das erste einer neuen Stage ist, wenn ja, dann musst du halt gerade vorher ne Überschrift ausgeben. Ist vermutlich die einfachere Variante.
von zeTo
huhu

ich habe auch mal wieder ein problem. ich habe in mysql folgende tabelle
1: 
2: 
3: 
4: 
5: 
6:
name	stage
name1	2
name2	1
name3	1
name4	2
name5	3


jetzt soll die ausgabe so sein

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
 stage: 1
  - name2
  - name3
 stage 2
  - name1
  - name4
 stage 3
  - name5


also immer die stage als überschrift und dann alle, die diese stage haben.
das ginge ja mit zwei selects, allerdings habe ich das gefühl, dass man das auch mit group by machen könnte. habe auch danach bei google gesucht, allerdings wird da immer nur erklärt, wie man dann zählen kann, wie viele in der jeweiligen kategorie sind.
im moment habe ich es so:

1:
SELECT * FROM names GROUP BY stage

wenn ich jetzt alles in einer "normalen" schleife ausgebe, wird aber immer nur die stage und dann jeweils nur ein wert ausgeben.
wie kann ich das anders machen?
schon mal vielen dank

Nach oben