kEv*: GROUP BY, DISTINCT, ORDER BY

Beitrag lesen

Hallo liebe SELFHTMLer,

mal wieder mit einer Frage an euch.
Folgendes Problem:

Eine Datenbanktabelle mit folgender Struktur:

id|playerid|p1|p2|p3|universum|
1    2      21 22 23    1
2    2      1  2  3     1
3    1      21 44 4     1
4    1      12 9  8     2

Ich habe eine SQL Abfrage die sieht folgendermaßen aus:
$sql = mysql_query ('SELECT id,playerid,universum,p1,p2,p3 FROM hsp ORDER BY universum,p1 ASC ');

Vorrangig geht es mir bei der Abfrage um die Sortierung.
Sortiere zuerst nach Universum und dann p1.

Nun arbeite ich mit vLib als Template Engine. Da es sich hier ja um noch keine komplexe Datenbankabfrage handelt kann ich in vLib den o.g. Query in einen einfachen DB-LOOP ausgeben lassen.

Die jetzige Ausgabe ist in dem Template so:

...
<tmpl_loop name='hsp'>
 <h1>{tmpl_var name='p1'}</h1>
 <ul>
  <li>{tmpl_var name='p1'}:{tmpl_var name='p2'}:{tmpl_var name='p3'}</li>
 </ul>
</tmpl_loop>
...

HTML Ausgabe (Leider ohne Formatierung :) )
1

1:2:3

21

21:22:23

21

21:44:4

12

12:9:8

Folgendes will ich in der Abfrage aber eigentlich noch zusätzlich erreichen, nur leider weiß ich nicht so recht wie!

Alle Zeilen die in der SPALTE p1 gleich sind sollen keine EXTRA Liste haben, sondern in die vorhandene eingetragen werden.
So also:

1
1:2:3

21
21:22:23
21:44:4

12
12:9:8

Wo kann ich da ansetzten?
Schon am Query oder muß ich das über das vLib lösen?
Wichtig ist, das die Inhalte der Spalten nicht gemischt werden.
p1,p2 und p3 gehören genauso zusammen wie die dazugeörige playerid und das universum.

Vielen Dank für Ansätze ...

LG
kev1n

--
SELFCODE:
sh:( fo:| ch:? rl:° br:^ ie:{ mo:| va:) de:] zu:) ss:| ls:[ js:|
---