Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] sortowanie wyników, sortowanie wyników
motomeru
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.10.2010

Ostrzeżenie: (0%)
-----


Panowie dopiero co zaczynam raczkować w PHP i dlatego stąd moja nachalność... z góry dziękuję krecikowi za ostatnią pomoc (IMG:style_emoticons/default/smile.gif) od wczoraj nie mam zielonego pojęcia jak sortować wyniki ze zmiennej z podanego poniżej skryptu.
Przed obelgami na mój temat proszę o wyrozumiałość. Skrypt działa już poprawnie niestety nie wiem jak posortować wyniki z $odleglosc od najmniejszej liczby.


  1. <?php
  2. $sz1 = $_POST['sz1'];
  3. $wy1 = $_POST['wy1'];
  4.  
  5. $query = mysql_query("SELECT Identyfikator, szerokosc, dlugosc, bts_id, bts_name FROM obiekty2 WHERE Identyfikator>0") or die(mysql_error());
  6. if (!$query) {
  7. echo('<div>Problem podczas pobierania listy!</div>');
  8. }
  9. echo '<table width="80%" border="1"><tr><td align="center"><b>ID</b></td><td align="center"><b>szerokosc</b></td><td align="center"><b>dlugosc</b></td><td align="center"><b>ODLEGLOSC</b></td><td align="center"><b>BTS_ID</b></td><td align="center"><b>BTS_NAME</b></td></tr>';
  10.  
  11.  
  12. while ($row = mysql_fetch_array($query))
  13. {
  14.  
  15. $ID = $row['Identyfikator'];
  16. $szerokosc = $row['szerokosc'];
  17. $dlugosc = $row['dlugosc'];
  18. $bts_id = $row['bts_id'];
  19. $bts_name = $row['bts_name'];
  20.  
  21. $odleglosc = rad2deg(acos(sin(deg2rad($sz1)) * sin(deg2rad($szerokosc)) + cos(deg2rad($sz1)) * cos(deg2rad($szerokosc)) * cos(deg2rad($wy1-$dlugosc)))) * 111.18957696; ;
  22.  
  23.  
  24. echo ('<tr>');
  25.  
  26. echo "<td align=\"left\">$ID</td>";
  27. echo "<td align=\"left\">$szerokosc</td>";
  28. echo "<td align=\"left\">$dlugosc</td>";
  29. echo "<td align=\"left\">$odleglosc</td>";
  30. echo "<td align=\"left\">$bts_id</td>";
  31. echo "<td align=\"left\">$bts_name</td>";
  32.  
  33.  
  34. }
  35.  
  36. echo '</table>';
  37. mysql_free_result($result);
  38. ?>
  39.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
motomeru
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.10.2010

Ostrzeżenie: (0%)
-----


OK potworzyłem zgodnie z Twoją radą tablice ale to zbytnio mi nie pomogło... Gdzieś robię pewnie kuriozalny błąd... Wielka flaszka się należy za pomoc.

  1. <?php
  2. $sz1 = $_POST['sz1'];
  3. $wy1 = $_POST['wy1'];
  4.  
  5. $query = mysql_query("SELECT Identyfikator, szerokosc, dlugosc, bts_id, bts_name FROM obiekty2 WHERE Identyfikator>0") or die(mysql_error());
  6. if (!$query) {
  7. echo('<div>Problem podczas pobierania listy!</div>');
  8. }
  9. echo '<table width="80%" border="1"><tr><td align="center"><b>ID</b></td><td align="center"><b>szerokosc</b></td><td align="center"><b>dlugosc</b></td><td align="center"><b>ODLEGLOSC</b></td><td align="center"><b>BTS_ID</b></td><td align="center"><b>BTS_NAME</b></td></tr>';
  10.  
  11.  
  12. $licznik = 0;
  13.  
  14. while ($row = mysql_fetch_array($query))
  15. {
  16.  
  17. $table[$licznik]['ID'] = $row['Identyfikator'];
  18. $table[$licznik]['szerokosc'] = $row['szerokosc'];
  19. $table[$licznik]['dlugosc'] = $row['dlugosc'];
  20. $table[$licznik]['bts_id'] = $row['bts_id'];
  21. $table[$licznik]['bts_name'] = $row['bts_name'];
  22.  
  23. $table[$licznik]['odleglosc'] = rad2deg(acos(sin(deg2rad($sz1)) * sin(deg2rad($table[$licznik]['szerokosc'])) + cos(deg2rad($sz1)) * cos(deg2rad($table[$licznik]['szerokosc'])) * cos(deg2rad($wy1-$table[$licznik]['dlugosc'])))) * 111.18957696;
  24.  
  25. echo ('<tr>');
  26.  
  27. echo "<td align=\"left\">".$table[$licznik]['ID']."</td>";
  28. echo "<td align=\"left\">".$table[$licznik]['szerokosc']."</td>";
  29. echo "<td align=\"left\">".$table[$licznik]['dlugosc']."</td>";
  30. echo "<td align=\"left\">".$table[$licznik]['bts_id']."</td>";
  31. echo "<td align=\"left\">".$table[$licznik]['bts_name']."</td>";
  32. echo "<td align=\"left\">".$table[$licznik]['odleglosc']."</td>";
  33. $licznik++;
  34.  
  35. }
  36.  
  37. uasort($table, 'cmp');
  38.  
  39.  
  40. echo '</table>';
  41. mysql_free_result($result);
  42. ?>
  43.  
  44.  

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 23:05