Zu Dumm um Tabellen zu verknüpfen

dreambaser

Erfahrenes Mitglied
Hallo Leute,

Ich hab mal wieder ein Problem mit einem Query. Vielleicht kann mir der ein oder andere auf die Sprünge helfen.

Ok folgendes:

Ich habe 2 Tabellen. Die eine heisst Groups, die andere Products.

Ich möchte eigentlich einen Query schreiben, der die Inhalte der Tabelle Products Alphabetisch ausgibt, aber so, das diese auch Alphabetisch in der Tabelle Groups ankommen.

Die Tabelle Groups ist so aufgebaut:

group_id, group_name, group_logo

Die Tabelle Products ist so aufgebaut:

id, globals, title_1, title_2 usw.

Ich will jetzt einen Query schreiben, der alle Datensätze aus der Tabelle Products alphabetisch holt und diese aber geordnet nach den Group_name aus der Tabelle Group und das auch alphabetisch.

Klingt kompliziert.

Hat jemand ne Idee ?

Danke
 
Fehlt da nicht eine GroupID in der Tabelle Produkts, um die beiden Tabellen zu verknüpfen?
 
Hi!
Wo besteht denn überhaupt die verbindung zwischen den
beiden Datenbanken? Ist in der Produkt Tabelle bei jedem
Eintrag die Gruppenid gespeichert?

Ich haoffe ich hab dich richtig verstanden .

Gruß Benny
 
ja die ist auch dabei, ich wollt nur nicht alles aufschreiben, weil die Tabelle products verdammt groß ist. Also es ist so:

id, globals, title_1, group_id (Auszug)

Danke für den Hinweis
 
kle-ben hat gesagt.:
Hi!
Wo besteht denn überhaupt die verbindung zwischen den
beiden Datenbanken? Ist in der Produkt Tabelle bei jedem
Eintrag die Gruppenid gespeichert?

Ich haoffe ich hab dich richtig verstanden .

Gruß Benny

Die group_id wird in Products mitgespeichert klar, sonst würde das Product nicht zu den Gruppen passen und nicht angezeigt werden..
 
Dafür solltest du zwei querrys nehmen.
In dem ersten wählst du die Groups Tabelle
und läst sie durch ein Whileschleife laufen.
Diese Kann natürlich alphabetisch sortiert sein.
In dieser Whileschleife fragst du in einem 2 querry
die Products Tabelle ab und lässt dir alle
Produkte mit der Group_id aus der Group Tabelle
ausgeben.
Die kannst du dir ebenfalls gerne nach dem Alpabet
sortieren lassen.

Ich hoffe ich hab mich verständlich ausgedrückt

Gruß Benny
 
ok das ist mir soweit klar, aber wie müsste das dann aussehen, wenn ich die Einträge per Klick sortieren lassen will ?

Einfach ist es ja, diese nach einem Kriterium sortieren zu lassen, aber wie ist das bei 2?

Ich kann ja schlecht vorher alles durch eine Whileschleife laufen lassen, weil dann ist ja schon alles ausgegeben und das nach dem ersten Kritierium und nicht nach beiden.
 
Wie das mit dem Klick gemeint ist versteh ich nicht so ganz.

Zu den Schleifen:
Du musst diese ineinander verschachteln.

PHP:
	  <?
#dbconect blabla
$result = mysql_querry("select group_name, group_id form group order by ...");
while($row = mysql_fetch_assoc($result)){  #erste schleife
echo $row['group_name'];
$res = mysql_querry("select product_name, group_id   where group_id = ".$row['group_id']."");
#hier werden alle produkte ausgewählt die der jeweiligen Grupe angehören
while($reihe = mysql_fetch_assoc($result)){  #zweite schleife
echo $reihe['produkt_name'];
  }
}

?>

Das Ergebnis sollte dann so aussehn:

Gruppe1:

produkt1
produkt2



Gruppe2:

produkt13
produkt4

Ich hoffe mal das wir hier nicht aneinander vorbeireden :-)
Und das es das ist was du willst. Mit dem Klick ist mir das jedoch alles noch unverständlich?

Gruß Benny
 
Kleines edit:

In der 2 while Schleife muss es natürlich $res heisen und nicht $result
[weil ich immer so faul bin und das zeuch kopier] :-)

PHP:
while($reihe = mysql_fetch_assoc($res)){

Und was ich mir dabei gedacht hab:
Mit dem Klick ist mir das jedoch alles noch unverständlich?

Wahrscheinlich eher nix, aber ich denk man verstehts. Sorry!
 
Zurück