Sortowanie po zmiennej PHP


(Kacprzakda) #1

Panowie mam straszny problem

zwiazany bardziej z brakiem dośwaidczenia w PHP... mam skrypt i chciałbym wyniki z $odleglosc sortować po numerze siedze nad tym cały dzień i nie mam zielonego pojęcia co można zrobić...

<?php

$sz1 = $_POST['sz1'];

$wy1 = $_POST['wy1'];

$query = mysql_query("SELECT Identyfikator, szerokosc, dlugosc, bts_id, bts_name FROM obiekty2 WHERE Identyfikator>0") or die(mysql_error());

if (!$query) {

echo('

Problem podczas pobierania listy!
');

}

echo '

| ID | szerokosc | dlugosc | ODLEGLOSC | BTS_ID | BTS_NAME |

while ($row = mysql_fetch_array($query))

{

$ID = $row['Identyfikator'];

$szerokosc = $row['szerokosc'];

$dlugosc = $row['dlugosc'];

$bts_id = $row['bts_id'];

$bts_name = $row['bts_name'];

$odleglosc = rad2deg(acos(sin(deg2rad($sz1)) * sin(deg2rad($szerokosc)) + cos(deg2rad($sz1)) * cos(deg2rad($szerokosc)) * cos(deg2rad($wy1-$dlugosc)))) * 111.18957696; ;

echo ('

echo "

$ID";

echo "

$szerokosc";

echo "

$dlugosc";

echo "

$odleglosc";

echo "

$bts_id";

echo "

$bts_name";

}

echo '

';

mysql_free_result($result);

?>


(mordesku) #2

Cześć, następnym razem używaj znacznika code bo ciężko się połapać w kodzie.

Kilka spraw jeśli chodzi o sortowanie :

$tablica[$odległość] = array(

"id"=$ID,

"szerokosc"=$szerokosc

(podobnie przpisujesz wszystkie zmienne)

);
  1. sortujemy arraya już poza pętlą:

    ksort($tablica);

    1. dopiero teraz wyswietlamy

foreach ($tablica as $klucz = $element) {

echo "$element["id"]";

echo "$element["szerokosc"]";

echo "$element["dlugosc"]";

echo "$klucz"; //jako klucz wpisaliśmy odległość

echo "$element["bts_id"]";

echo "$element["bts_name"]";

}

([alex]) #3

Wystarczy że zmienisz zapytanie SQL dodając na końcu:

order by Identyfikator

czyli:

SELECT Identyfikator, szerokosc, dlugosc, bts_id, bts_name FROM obiekty2 WHERE Identyfikator>0 order by Identyfikator

(pain3hp) #4

dodam że jeśli posortuje ci w kolejności niepożądanej, dopisz na końcu zapytania "DESC" :wink: