#1 15. Juli 2009 Array sortieren Hej Leute ... ich habe ein Array, welches wie folgt aussieht: Code: Array ( [0] => Array ( [dID] => 1 [rating] => 4.33333333333 ) [1] => Array ( [dID] => 2 [rating] => 9 ) ) Nun muss dieses Array so sortiert werden, dass das höchste Rating an 1. Stelle steht! Eventuell gibt es ja auch einfacherere Methoden ... darum beschreibe ich mal gerade mein Vorhaben: Ich habe 2 Tabellen: downloads rating Nun will ich die best bewerteten Downloads anzeigen lassen. Dafür berechne ich erstmal das Voting aus den in der Tabelle rating liegenden Einträgen. Diese Einträge sind halt mit einer ID zu einem Download gekoppelt. Also vllt. gibt es ja auch bessere Lösungansätze ... danke schoneinmal!
#2 15. Juli 2009 AW: Array sortieren Hi, du könntest es elegant über nen SQL lösen, der beide Tabelle joint und die Mittelwerte bildet und dementsprechend sortiert. Da das aber aus Erfahrung zu performancelastig ist, solltest du in die Tabelle »Downloads« ein Feld mit z.B. dem Titel »rating« hinzufügen, dass immer den Durschnittswert aller Rating beinhaltet. Dementsprechend immer bei einer Bewertungsabgabe den Mittelwert berechen und die Download-table updaten. So musst Du nicht 2 Tabellen joinen und auch - in deinem Lösungsvorschlag - keine Arrays sortieren. Die Rating-Tabelle muss natürlich weiter bestehen, damit du die Benutzer blocken kannst, die bereits eine Bewertung abgegeben haben. MArc
#3 15. Juli 2009 AW: Array sortieren 1. Formatiere deinen code ein bisschen - Ist viel übersichtlicher und du kannst auch mehr Hilfe erwarten Code: Array ( [0] => Array ( [dID] => 1 [rating] => 4.33333333333 ) [1] => Array ( [dID] => 2 [rating] => 9 ) ) 2. Ja einfacher wäre ein SQL-Statement Code: SELECT d.id, r.voting FROM downloads AS d, rating AS r WHERE d.id = r.id ORDER BY r.voting DESC
#4 15. Juli 2009 AW: Array sortieren Coksnuss, der Vorschlag funktioniert so leider nicht, weil der gute pleq - soweit ich das richtig gelesen habe - eine 1-n Beziehung zwischen den Tabellen hat. MArc
#5 15. Juli 2009 AW: Array sortieren ich habe es nun so gelöst, dass nach jedem vote eine spalte in der download tabelle geupdatet wird, ist am einfachsten und schnellsten! trotzdem danke .p