Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Behöver hjälp med att sortera i PHP

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Slöinge
  • 2006-03-27 14:36

Hej!

Jag har gjort en beräkning i php med uthämtade data från en mysql databas, och jag skulle vilja få de värdena jag hämtat sorterat enligt den uträknade php variabeln desc.

Uträkningen av variabeln:

// Calculating Final: // 
$end_var = $arr_users['StartPoints'] + $arr_users['GainedPoints'] - $sum_player_bid['SumSpend'];
if($end_var - round($adjustment,2) < ($arr_users['StartPoints'] - $sum_player_bid['SumSpend'] + $sum_raidRuns['raidRuns'])) { $final = $arr_users['StartPoints'] - $sum_player_bid['SumSpend'] + $sum_raidRuns['raidRuns']; }
else if($end_var - round($adjustment,2) <= $end_var) { $final = $end_var - round($adjustment,2); }
else { $final = $end_var; }

Denna uträkningen ligger i en while loop eftersom variablarna som jag använder i beräkningen ligger i ett medlemsregister på sql databasen.

Så min fråga är, kan jag få någon sorts sortering på $final variabeln?

Tacksam för svar!

Är inte riktigt säker på att jag förstår frågan rätt, men.. Nu vet jag inte var $adjustment är / gör, men jag tycker att uträkningen ser rätt statisk ut? Det jag tänkte var att det kanske går lägga in datan i databasen när den skapas / uppdateras? Dvs att du lägger till ett fält där du sparar $final i databasen, och sen helt enkelt kör "ORDER BY <final-fältet här> DESC" i sql-queryn?

Annars är väl det enklaste att köra usort() på arrayen. Då får du ange en egen compare-funktion, så med den borde det inte vara något problem att sortera på.. tja.. vad du vill

  • Medlem
  • Slöinge
  • 2006-03-28 07:40
Ursprungligen av Kermit:

Är inte riktigt säker på att jag förstår frågan rätt, men.. Nu vet jag inte var $adjustment är / gör, men jag tycker att uträkningen ser rätt statisk ut? Det jag tänkte var att det kanske går lägga in datan i databasen när den skapas / uppdateras? Dvs att du lägger till ett fält där du sparar $final i databasen, och sen helt enkelt kör "ORDER BY <final-fältet här> DESC" i sql-queryn?

Annars är väl det enklaste att köra usort() på arrayen. Då får du ange en egen compare-funktion, så med den borde det inte vara något problem att sortera på.. tja.. vad du vill

Tack för ditt svar, ja jag kan tänka mig att det swer statiskt ut men den är inte det

$final är inget som jag vill spara i databasen eftersom det är en beräkning per användare. Men vad jag har kunnat läsa mig till så har jag också kommit fram till nån sorts sort() är det jag behöver änvanda mig utav. Men jag vet inte riktigt hur jag fyller array:n i en while loop.

Jag har aldrig använt mig utav sort så jag vet inte riktigt hur jag ska skriva syntaxen.

Länkar med hela min index.php här så kan du få se!

Tack för din hjälp.

Man kan ju annars göra en del beräkningar direkt i MySQL-frågan. Typ:

"SELECT *,StartPoints+GainedPoints-SumSpend AS EndVar FROM <table>" (med reservation för att det kanske inte alls fungerar )

Det bli förståss lurigt eftersom du har en if-sats i din beräkning, men det kanske går att lösa på något annat sätt.

1
Bevaka tråden