mysql Abfrage oder Ausgabe bearbeiten und sortieren

buzzom

Mitglied
Guten Tag liebe PHP Freunde,

ich habe eine Frage und hoffe und bitte um Eure Hilfe.

Ich mache eine mysql Abfrage bei der z.B. folgende Ausgabe bisher entsteht:

Beispiel 1:


Beispiel 2:
Wein
Wein
Bier
Bier
Schnaps

Mein bisheriger Code dazu:
PHP:
$sql = "SELECT ";
$sql.= "cl_to, cl_sortkey FROM categorylinks ";
$sql.= "WHERE `cl_sortkey` = '".$_POST['zutaten'][0]."' OR `cl_sortkey` = '".$_POST['zutaten'][1]."'";

$result = mysql_query($sql, $link);

 while ($ausgabe = mysql_fetch_array($result))
    {
	  echo $ausgabe['cl_to']."<br>";
    }

Nun möchte ich aber nicht zweimal Bier (Beispiel 1) haben oder zweimal Wein und zweimal Bier (Beispiel 2) sondern nur einmal (zuviel Wein macht nur einen Kater ;-)).
Allerdings sollen die doppelten Einträge gleich als Gewichtung bei der Sortierung genutzt werden.

Beispiel 1 sollte daher so aussehen:

Beispiel 2 so:
Bier
Wein
Schnaps

Ich hoffe ich habe mein Problem logisch erklärt und hoffe auf Eure weisen Ratschläge.

Herzlichst,
Eure Buzzi
 
Danke das geht ganz gut, aber ich müsste auch noch eine Reihe (im Beispiel die Reihe mit "Schnaps") abschneiden.

Beispiel 3:

Wein
Wein
Bier
Bier
Schnaps

zu

Wein
Wein
Bier
Bier
Schnaps



Ansonsten müsste ich diesen Prozess in der while Schleife irgendwie reduzieren und sortieren lassen.

Hat dazu jemand einen weisen Rat?

Danke vielmals.
Buzzi
 
Zuletzt bearbeitet:
Wie das immer so ist, man bekommt es auch nach hundert mal rumprobieren alleine raus.
Für alle, die also auch mal das Problem haben werden:

Lösung:
Code:
SELECT cl_to, cl_sortkey FROM categorylinks WHERE `cl_to` != 'Schnaps' AND (`cl_sortkey` = 'Hopfen' OR `cl_sortkey` = 'Trauben') GROUP BY cl_to ORDER BY count(*) DESC

Danke an alle.
 
Zurück