![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam bazę 30 tys rekordów, każdy rekord ma dane geograficzne (szerokość i długość - dziesiętną) jak zrobić zapytanie które pokaże listę posortowanych rekordów według dystansu. Czyli najpierw obliczamy dystans dla każdego rekordu na podstawie danych lokalizacyjnych. potem sortujemy. żeby zobrazować. mam listę kin w Polsce użytkownik normalnie ogląda listę posortowaną według daty dodana. Ale jak w swoich ustawieniach konta poda swoje dane geograficzne to na ich podstawie będzie mógł zobaczyć co jest najbliżej jego lokalizacji. na razie wyklułem coś takiego:
MUSI BYC TO ZAPYTANIE BEZ INGERENCJI PHP. Ten post edytował acztery 12.09.2011, 14:19:35
Powód edycji: [wookieb]:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
( 6371 * acos( cos( radians({$dane['google_lat']}) ) * cos( radians(ob.google_lat ) ) * cos( radians(ob.google_lng ) - radians({$dane['google_lng']}) ) + sin( radians({$dane['google_lat']}) ) * sin( radians(ob.google_lat ) ) ) ) AS distance,
ja uzywam takiego czegos i liczy idealnie. W $dane['google_xxx'] podstawiasz od jakiego pkt ma szukac i w distance masz odleglosc jaka dzieli punkt z tym co masz w bazie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 19:50 |