Veröffentlicht 24. Mai 200322 j moin wie kann ich nach einer variablen sortieren, die nicht aus der db kommt sondern erst erzeugt wird und dann den wert ausgibt? mfg logimann
24. Mai 200322 j Wenn ich ehrlich bin, habe ich nicht ganz verstanden, was Du möchtest. Du möchtest eine Variable sortieren? Ich nehme mal an, Du meinst den Inhalt. Ist die Variable ein Array? Frank
24. Mai 200322 j also ich wollt das so machen: $sql = "SELECT * FROM tabelle ORDER BY $summe desc"; [/PHP] [PHP] while ($daten = mysql_fetch_array($sql)): $a = $daten["feld1"]; $b = $daten["feld2"]; $summe = $a + $b
24. Mai 200322 j Wenn ich dich richtig verstanden habe, willst du Daten aus der DB selektieren und die selektierten Datensätze absteigend nach einer Summe zweier DB-Felder sortieren, richtig? Dann probiere mal folgende Abfrage: SELECT feld1, feld2, feld1 * feld2 AS summe FROM tabelle ORDER BY summe DESC; Wenn das nicht geht, dann aber so: SELECT feld1, feld2, feld1 * feld2 AS summe FROM tabelle ORDER BY feld1 * feld2 DESC;
25. Mai 200322 j ja wenn das so einfach wär!! ich muss die summe so ausrechnen werte = array( $f1, $f2, $f3, $f4 ); $summe = array_sum( $werte ) - min( $werte ); [/PHP] und es werden noch ne paar felder mehr ausgelesen.
26. Mai 200322 j Also du bekommst mehrere Summen pro Abfrage und willst die sortieren ? Ist das so richtig ? Falls ja: summen in ein Array schieben und über sort() sortieren. MfG
26. Mai 200322 j Sowas in der Art: $summen = array(); $i = 0; while($daten = mysql_fetch_array($res) { $summe = $daten['feld1'] + $daten['feld2'] // oder was auch immer du da zum berechnen machst... $summen[$i] = $summe; $i++; } $summen = sort($summen); // Array aufsteigend sortieren foreach($summen as $foo) { echo $foo."<br>\n"; } [/PHP] Willst du es andersrum sortiert haben, durchläufst du das Array halt rückwärts mit ner for-Schleife zur Ausgabe. MfG
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.