Hi Leute,
ich habe eine kleine MySQL Frage, die sich hoffentlich leicht beantworten lässt.
Folgendes Problem:
innerhalb einer Tabelle "categories" gibt es einen eintrag "chapter"
Bsp.:
table: categories
>ID
>name
>chapter
Nun wird diese etwa mit solchen Daten gefüllt:
(ich hoffe, es wird in courier dargestellt)
ID | name | chapter
---------------------
01 | dat1 | chap1
02 | dat2 | chap2
03 | dat3 | chap1
04 | dat4 | chap2
Augegeben werden soll das Ganze dann wie folgt: Die Daten dat1..4 sollen in HTML - Tabellen mit dem jeweiligen Chapternamen eingefügt werden.
Bsp.:
chap1
-dat1
-dat3
chap2
-dat2
-dat4
Ich suche also einen SQL Befehl, der es ermöglicht, die jeweils 2 mal auftauchenden Daten aus "chapter" als eine auszugeben, um diese in ein array zu laden, um mit einer Schleife mit den "name" Daten zu arbeiten, und letztendlich wie im Beispiel auszugeben.
Puh, ich hoffe, ich habe mich verständlich ausgedrückt.
Wenn es einfacher geht, als ich mir zusammenspinne, bin ich auch gerne bereit, eine einfachere Lösung zu aktzeptieren (ausser das Anlegen einer zusätzlichen Tabelle) :)
Liebe Grüße und Danke im Vorraus
Nico Albrecht
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
probiere es mal mit "UNIQUE" ....
HTH, Z.
select ID,name,chapter FROM [Tabellenname] GROUP BY chapter
genau so wie Xafford würde ich das auch machen bzw habe ich das gemacht wenn ich einen guten code finde, in dem ich das schonmal gemacht habe, poste ich ihn, allerdings ist xaffords zeile so ziemlich alles was das schon bewirkt :-)
// Probiers mal hiermit (ungetestet, sollte vom Prinzip aber funktionieren):
$result = mysql_query('SELECT chapter, name FROM categories ORDER BY chapter, name');
$this_chapter = '';
while($row=mysql_fetch_assoc($result))
{
if($this_chapter!=$row['chapter'])
{
$this_chapter = $row['chapter'];
// Überschrift ausgeben
}
// Name ausgeben
}
/* bei einer größeren DB solltest Du umbedingt darüber nachdenken die Kapitel in einer Anderen Tabelle zu speichern und auf diese per Kapitel-ID zu verweisen */
// CU Borlander
$result = mysql_query('SELECT chapter, name FROM categories ORDER BY chapter, name');
$this_chapter = '';
while($row=mysql_fetch_assoc($result))
{
if($this_chapter!=$row['chapter'])
{
$this_chapter = $row['chapter'];
// Überschrift ausgeben
}
// Name ausgeben
}
/* bei einer größeren DB solltest Du umbedingt darüber nachdenken die Kapitel in einer Anderen Tabelle zu speichern und auf diese per Kapitel-ID zu verweisen */
// CU Borlander