Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Odległość geofraficzna między punktami
motomeru
post 4.02.2011, 14:45:02
Post #1





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

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


Panowie, tworzę serwis który w zamiarze ma obliczać odległość między punktem docelowym a nadajnikiem do odbioru internetu. Niestety jest przedszkolakiem jeżeli chodzi o PHP... napisałem skrypt niestety nie zwraca mi on wyników. Pewnie zrobiłem gdzieś straszny błąd...
Osobnik wchodzi na moją stronę podaje swoje dane szerokość i długość geograficzną a sql wyrzuca nadajniki PLAY ORANGE i ERY.

  1.  
  2.  
  3. <?php
  4.  
  5. $sz1 = $_POST['sz1'];
  6. $wy1 =$_POST['wy1'];
  7.  
  8. $query = mysql_query("SELECT ID, szerokosc, dlugosc FROM obiekty WHERE ID>0 ORDER BY ID LIMIT 100 ") or die(mysql_error());
  9. if (!$query) {
  10. echo('<div>Problem podczas pobierania listy!</div>');
  11. }
  12. 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>BTS_ID</b></td></tr>';
  13.  
  14. $odleglosc = rad2deg(acos(sin(deg2rad($sz1)) * sin(deg2rad($row['szerokosc']) + cos(deg2rad($sz1)) * cos(deg2rad($row['szerokosc'])) * cos(deg2rad($wy1-$row['dlugosc'])))) * 111.18957696;
  15.  
  16. while ($row = mysql_fetch_array($query))
  17. {
  18.  
  19. $ID = $row['ID'];
  20. $szerokosc = $row['szerokosc'];
  21. $dlugosc = $row['dlugosc'];
  22. $bts_id = $row['BTS_ID'];
  23.  
  24. echo "<td align=\"left\">$ID</td>";
  25. echo "<td align=\"left\">$szerokosc</td>";
  26. echo "<td align=\"left\">$odleglosc</td>";
  27. echo "<td align=\"left\">$bts_id</td>";
  28.  
  29.  
  30. }
  31. echo '</table>';
  32. mysql_free_result($result);
  33. ?>
  34.  
  35.  



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kreciko
post 4.02.2011, 15:09:30
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 7
Dołączył: 17.02.2010

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


http://www.phpro.org/tutorials/Geo-Targett...nd-MySQL.html#3
Go to the top of the page
+Quote Post
motomeru
post 4.02.2011, 15:14:38
Post #3





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

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


@kreciko dziękuję za odpowiedź ale jak byś spojrzał w kod to byś zobaczył iż wykorzystałem wzór na ortodronę... Gdzieś zrobiłem logiczny błąd i po prostu nie wiem gdzie... przy podaniu stałych bez wykorzystania sql'a dostaję poprawną odpowiedź, wydaję mi się że popełniłem pewnie błąd w drugiej części gdzie powinna być stworzona tabela.
Go to the top of the page
+Quote Post
Ulysess
post 4.02.2011, 15:33:48
Post #4





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


skoro piszesz że ustawiając wartości sztywne dla $szy1 i $wy1 widocznie masz problem z formularzem , sprawdź przede wszystkim czy inputy nazwałeś szy1 / wy1
Go to the top of the page
+Quote Post
kreciko
post 4.02.2011, 15:36:16
Post #5





Grupa: Zarejestrowani
Postów: 99
Pomógł: 7
Dołączył: 17.02.2010

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


Przed obliczeniem odległości wysłałeś tylko zapytanie do bazy danych, ale nie pobrałeś wyniku tego zapytania. A odwołujesz się do tablicy $row, tak jak by były w niej dane.
Go to the top of the page
+Quote Post
motomeru
post 7.02.2011, 10:40:24
Post #6





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

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


Masz rację, zmieniłem i już działa już wstawiłem na swoją stronę z ORDER BY 100 smile.gif Jesteś wielki smile.gif powiedz mi tylko czy jest możliwość zmodyfikowania tego skryptu aby w zapytaniu

  1. mysql_query("SELECT ID, szerokosc, dlugosc FROM obiekty WHERE ID>0 ORDER BY ID LIMIT 100 ")


ORDER BY $odleglosc? aby użytkownik mógł zobaczyć z którym nadajnikiem może się połączyć w przypadku małej pojemności?

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 23:31