MySQL GROUP
mixmastertobsi
- datenbank
0 Alex
Hallo,
ich komme noch immer nicht bei folgender Abfrage weiter. Ich finde die momentane Lösung nicht ideal. Gibt es denn keine Möglichkeit die zwei Abfragen in einer zu kombinieren?!?
$res = mysql_query("SELECT marke FROM artikel WHERE available='1' GROUP BY marke");
while ($row = mysql_fetch_array($res)) {
$marke = $row['marke'];
$res2 = mysql_query("SELECT anr FROM artikel WHERE available='1' AND marke='$marke' ORDER BY anr DESC LIMIT 3");
while ($row2 = mysql_fetch_array($res2)) {
$new[] = $row2['anr'];
}
}
Hallo,
ich komme noch immer nicht bei folgender Abfrage weiter.
Das "immer noch nicht" lässt auf ein Doppelposting schließen - bin aber zu faul zum suchen ;)
Ich finde die momentane Lösung nicht ideal. Gibt es denn keine Möglichkeit die zwei Abfragen in einer zu kombinieren?!?
Ich finde die Fragestellung alles andere als Ideal. Beschreibe doch mal (auf Deutsch nicht auf PHP/SQL), was du willst.
$res = mysql_query("SELECT marke FROM artikel WHERE available='1' GROUP BY marke");
while ($row = mysql_fetch_array($res)) {
$marke = $row['marke'];
$res2 = mysql_query("SELECT anr FROM artikel WHERE available='1' AND marke='$marke' ORDER BY anr DESC LIMIT 3");
while ($row2 = mysql_fetch_array($res2)) {
$new[] = $row2['anr'];
}
}
Ich vermute, dass du Produkte nach Marke aufgegliedert haben willst - oder?
Also so:
Audi: - A4
- Q5
- Q7
Mercedes: - C-Klasse
- E-Klasse
usw.
Kann das sein?
Wenn ja, dann lies einfach alle Produkte, nach Marke und dann nach Modell sortiert aus und Reagiere in PHP auf einen Wechsel der Marke. Also so $marke\_vorher = $row->marke ... Wenn marke\_vorher != $row->marke ---> Mache neues "Kapitel" auf. Oder lies das ganze in ein mehrdimensionales Array $array[marke][modell].
Wenn nein: Stelle eine sinnvolle Frage.
Gruß
Alex
Hallo,
dei Abfrage soll pro Marke die drei neusten Artikel ausgeben. Die Abfragen funktionieren auch soweit - mich stört nur, dass ich das in zwei Abfragen umgesetzt habe.