MYSQL, PHP -> Ausgaben nach Gruppen (komplex)
Maria
- programmiertechnik
Nabend Zusammen,
ich stehe nun seit einigen Tagen vor dem Problem der Gruppenausgabe. Ich habe mich ebenso bereits durch sämtliche Foren und InternetQuellen gelesen aber nicht das passende Thema zu meinem Problem gefunden.
Vielleicht kann mir jmd von euch weiterhelfen, es würde mich freuen.
Problem:
Ich habe eine Datenbank mit folgenden Daten:
---------------------------------
|id | surname | lastname | group |
---------------------------------
| 1 | AB | CD | Typ 1 |
| 2 | BB | CC | Typ 1 |
| 3 | ABC | CD | Typ 2 |
| 4 | BBC | CC | Typ 3 |
etc.
nun möchte ich das diese Daten mittels PHP nicht nach dem einfachen Gruppensystem sortiert werden sondern, für jeden neuen Gruppentyp eine eigene Listenausgabe mit den Surnames + Lastnames erfolgt. Das eigentliche Problem ist jedoch, da die Gruppennamen Variabel sind muss die SQL abfrage "Where = "Variabel" irgendwie gefüttert werden.
Ich hoffe ich habe micht nicht zu verworren und laienhaft ausgedrückt, wenn doch sorry
Liebe Grüße
Maria
Hi,
wie genau soll deine Ausgabe aussehen?
Dies wird für mich irgendwie noch nicht ganz deutlich.
So wie ich das verstanden habe, willst du so etwas haben:
Typ 1
- AB CD
- BB CC
Typ 2
- ABC CD
Typ 3
- BBC CC
Viele Grüße Novi
Typ 1
- AB CD
- BB CC
Typ 2
- ABC CD
Typ 3
- BBC CC
Hallo Novi,
vielen Dank für deine schnelle Antwort, ich denke das Wort Gruppentrennung dürfte es noch etwas deutlicher beschreiben was ich wirklich meine ;)
Dein Entwurf der Darstellung kommt schon seh nah dran, jedoch plante ich die Gruppen in jeweils einer eigenen Tabelle auszugeben.
LG
Maria
Hi,
ich würde an deiner Stelle einfach alle Werte abfragen und nach dem Spalte group sortieren. Wenn du die Werte dann später per php ausgibst, fragst du einfach für jede Zeile ab, ob sich die Gruppe geändert hat. Ist dies der Fall beginnst du mit einer neuen Tabelle.
-mit Sql sortierst du die Daten nach der Gruppe
-mit PHP trennst du die Gruppen in der Ausgabe
Viele Grüße Novi
Hi,
ich würde an deiner Stelle einfach alle Werte abfragen und nach dem Spalte group sortieren. Wenn du die Werte dann später per php ausgibst, fragst du einfach für jede Zeile ab, ob sich die Gruppe geändert hat. Ist dies der Fall beginnst du mit einer neuen Tabelle.
-mit Sql sortierst du die Daten nach der Gruppe
-mit PHP trennst du die Gruppen in der AusgabeViele Grüße Novi
Hi Novi,
danke für deinen Tipp, darf ich dich noch eben Fragen wie ich eine solche Abfrage erzeugen kann mittels PHP bzw wo ich dieses nachlesen könnte?
Grüße
Maria
Hi,
so ungefähr könnte dein Script aussehen
<?php
$Entries = "Die Daten aus der DB und kein String wie hier^^";
$CurrentGroup = $Entries[0]['group'];
?>
<table>
<?php foreach($Entries as $Entry): ?>
<!-- Wenn die Gruppe wechselt, beginne eine neue Tabelle -->
<?php if($CurrentGroup != $Entry['group']):
$CurrentGroup = $Entry['group'];?>
</table>
<table>
<?php endif; ?>
<tr>
<td><?=$Entry['surname']?>
<td><?=$Entry['lastname']?>
<?php endforeach; ?>
</table>
Viele Grüße Novi
Hi,
Dein Entwurf der Darstellung kommt schon seh nah dran, jedoch plante ich die Gruppen in jeweils einer eigenen Tabelle auszugeben.
Abgesehen davon, dass dies aus HTML-Sicht wenig sinnvoll klingt (wenn die Daten gleiche Struktur haben, wieso bilden sie dann nicht *eine* Tabelle?) - lautet dein Stichwort für die Programmierung „Gruppenwechsel”.
MfG ChrisB