Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie obiektów z bazy na podstawie współrzędnych
Forum PHP.pl > Forum > Przedszkole
trifek
Witam serdecznie,
Mam w bazie danych obiekty wraz z współrzędnymi geograficznymi (szerokość i długość).
Potrzebuję zrobić wyszukiwarkę wyświetlającą obiekty znajdujące się w okolicy np. 30 KM od współrzędnych:
41.3661865 (lat), 2.1164942 (long).

Da się coś takiego zrobić z poziomu MySQL?
Jeśli tak, to orientuje się ktoś może jak powinno wyglądać zapytanie?

nospor
To moze byc pokazal jak wyglada struktura tabeli wraz z przykladowymi danymi...
trifek
  1. CREATE TABLE `dane` (
  2. `gt_id` bigint(20) UNSIGNED NOT NULL,
  3. `nazwa` varchar(85) COLLATE utf8_unicode_ci DEFAULT NULL,
  4. `ulica` varchar(75) COLLATE utf8_unicode_ci DEFAULT NULL,
  5. `miasto` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
  6. `kod_pocztowy` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL,
  7. `szer` float(10,6) NOT NULL DEFAULT '52.268158',
  8. `dl` float(10,6) NOT NULL DEFAULT '19.379883'
  9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  10.  
  11.  
  12.  
  13. INSERT INTO `dane` (`gt_id`, `nazwa`, `ulica`, `miasto`, `kod_pocztowy`, `szer`, `dl`) VALUES
  14. (1, 'Pole Namiotowe Jastrania', 'Bursztynowa 1', 'Jastarnia', '84-239', 54.345352, 18.682251),
  15. (7, '', '', '', '', 52.268158, 19.379883),
  16. (9, 'Dom Zdrojowy', 'Kościuszki 2a', 'Jastarnia', '84-140', 54.699860, 18.682804),
  17. (10, 'Hotel Bryza', 'Piękna 123 abc', 'Jurata', '76-987', 54.683357, 18.716583),
  18. (11, '', '', '', '', 52.268158, 19.379883),
  19. (12, 'Hotel Sopot', 'Lisia 12', 'Sopot', '84-140', 54.441296, 18.566895),
  20. (13, 'Dom noclegowy u Jana ', 'Lisia 123', 'Warszawa', '34-878', 52.221069, 21.027832),
  21. (14, 'Dom noclegowy Fasolkowski', 'Stemalszczyka 123 b', 'Kraków', '00-987', 52.270679, 19.401941),
  22. (15, 'Noclegi pracowników DIANA', 'Świętego Jana 23', 'Władysławowo', '34-086', 54.800686, 18.413086),
  23. (16, '', '', '', '', 52.268158, 19.379883),
  24. (17, 'TESTOWY', 'Warszawska', 'Poznań', '61-309', 52.410011, 16.988897);
  25.  
  26.  
  27. ALTER TABLE `dane`
  28. ADD PRIMARY KEY (`gt_id`),
  29. ADD UNIQUE KEY `gt_id` (`gt_id`),
  30. ADD KEY `gt_id_2` (`gt_id`);
  31.  
  32.  
  33. ALTER TABLE `dane`
  34. MODIFY `gt_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.