Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][MySQL][PHP] Mam problem z wyświetlaniem danych na mapie google
Forum PHP.pl > Forum > Przedszkole
brzanek
Witam na stronie mam system zgłaszania raportów pogodowych. Wszystko ładnie działa ale jak skorzystam z wbudowanej wyszukiwarki do wyszukiwania raportów dla danej miejscowości albo powiatu lub daty to dane wyświetlają się tylko w tabeli a nie na mapie.
Tak wygląda plik z wyświetlaniem powyszukiwaniu.
wyniki.php
  1. <?php
  2. require_once "../maincore.php";
  3. require_once THEMES."templates/header.php";
  4. if (!defined("IN_FUSION")) { die("Access Denied"); }
  5. //$con=mysql_connect('localhost','brzanek_brzanek','dj4403dj');
  6. //$con= new mysqli('localhost','brzanek_brzanek','dj4403dj');
  7. mysql_select_db("brzanek_rekordy", $con);
  8. mysql_query("SET CHARSET utf8");
  9.  
  10. require('db.php');
  11. //Otwiera połączenie z serwerem baz danych MySQL
  12. $connection=mysql_connect (localhost, $username, $password);
  13. if (!$connection) {
  14. die ('Nie połączono z serwerem baz danych: '. mysql_error());
  15. }
  16.  
  17. //Wybiera bazę danych z serwera
  18. $db_selected = mysql_select_db($database, $connection);
  19. if (!$db_selected) {
  20. die ('Nie można połączyć się z bazą danych: '. mysql_error());
  21. }
  22. ?>
  23. <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
  24. 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  25. <html xmlns="http://www.w3.org/1999/xhtml">
  26. <head>
  27. <title>Google Maps JavaScript API v3 - Twoja pierwsza mapa</title>
  28. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  29. </head>
  30. <body onLoad="load()">
  31. <div class=" theme-showcase" role="main">
  32. <br>
  33. <div>
  34. <h2>Raporty pogodowe dla województwa Zachodniopomorskiego</h2>
  35. <p>Na mapie znajdują się miejsca gdzie od kilkudziesięciu lat występowały grożne zjawiska pogodowe na terenie woj. Zachodniopomorskiego.</p>
  36. </div>
  37. <br>
  38.  
  39. <!-- Main jumbotron for a primary marketing message or call to action -->
  40. <div id="map" style="width: 100%; height: 400px; align: center;" class="img-responsive" alt="Responsive image"></div>
  41. <div class="row">
  42. <div class="col-md-12">
  43.  
  44. <h2>Wyszukiwanie raportów o zagrożeniach pogodowych</h2>
  45. <form action="wyniki.php" method="post">
  46. Wyszukaj według:
  47. <select name="metoda">
  48.  
  49. <option value="data" />Data (0000-00-00)
  50. <option value="miasto" />Nazwa miejscowości
  51. <option value="powiat" />Nazwa powiatu
  52. <option value="nazwa" />Rodzaj (Wyładowania, Grad, Tornado itp.)
  53. </select>
  54. Szukane wyrażenie:
  55. <input type="text" name="wyrazenie" />
  56. <input type="submit" name="wyszukaj" />
  57. </form>
  58. </div>
  59. </div>
  60. <br>
  61. <?php
  62. $metoda = $_POST['metoda'];
  63. $wyrazenie = $_POST['wyrazenie'];
  64. $wyrazenie = trim($wyrazenie);
  65. if (!$metoda || !$wyrazenie)
  66. {
  67. echo 'Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!';
  68. }
  69. {
  70. $metoda = addslashes($metoda);
  71. $wyrazenie = addslashes($wyrazenie);
  72. }
  73. @ $db = new mysqli('localhost','login','haslo','nazwa_bazy');
  74.  
  75. if (mysqli_connect_errno())
  76. {
  77. echo 'Połączenie z bazą nie powiodło się. Spóbuj ponownie';
  78. }
  79. $db->query('SET NAMES utf8');
  80. $db->query('SET CHARACTER_SET utf8_unicode_ci');
  81. $zapytanie = "select * from google_maps where ".$metoda. " like '%".$wyrazenie."%' AND publicznie='tak' ORDER BY id DESC";
  82. $wynik = $db->query($zapytanie);
  83. $ile_znaleziono = $wynik->num_rows;
  84.  
  85. echo '<div class="row">
  86. <div class="col-md-12">
  87. <table class="table">
  88. <thead>
  89. <tr>
  90. <th>#</th>
  91. <th>Data</th>
  92. <th>Miejscowość</th>
  93. <th>Powiat</th>
  94. <th>Rodzaj zagrożenia</th>
  95. <th>Lat</th>
  96. <th>Lng</th>
  97. <th>Potwierdzenie</th>
  98. </tr>
  99. </thead>
  100. <tbody> ';
  101.  
  102. echo '<p> Liczba znalezionych raportów: '.$ile_znaleziono.'</p>';
  103. for ($i=0;$i<$ile_znaleziono;$i++)
  104. {
  105. $wiersz = $wynik->fetch_assoc();
  106.  
  107. echo '<tr>';
  108. echo "<td>".$wiersz['id']."</td>";
  109. echo "<td>".$wiersz['data']."</td>";
  110. echo "<td>".$wiersz['miasto']."</td>";
  111. echo "<td>".$wiersz['powiat']."</td>";
  112. echo "<td>".$wiersz['nazwa']."</td>";
  113. echo "<td>".$wiersz['lat']."</td>";
  114. echo "<td>".$wiersz['lng']."</td>";
  115. echo "<td><a href='".$wiersz['zdjecie']."' target='_blank'>".$wiersz['potwierdzenie']."</a></td>";
  116. echo '</tr>';
  117. }
  118. $wynik->free();
  119. $db->close();
  120. echo '</tbody>
  121. </table>
  122. </div>
  123. </div>';
  124. ?>
  125. </div>
  126.  
  127. <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&key=AIzaSyBpfa8ASzbAvkUD3HNgmIHBuPAqsAxSKRk"></script>
  128. <script type="text/javascript">
  129. //Baza ikonek do oznaczenia miejsc wedle typu
  130. var ikonki = {
  131.  
  132. tornado: {
  133. icon: 'tornado.png',
  134. shadow: 'tornado.png'
  135. },
  136. grad: {
  137. icon: 'hail.png',
  138. shadow: 'hail.png'
  139. },
  140. funnel: {
  141. icon: 'funnel.png',
  142. shadow: 'funnel.png'
  143. },
  144. deszcz: {
  145. icon: 'rain.png',
  146. shadow: 'rain.png'
  147. },
  148. wiatr: {
  149. icon: 'wind.png',
  150. shadow: 'wind.png'
  151. },
  152. wyladowania: {
  153. icon: 'lightning.png',
  154. shadow: 'lightning.png'
  155. }
  156. };
  157. //Ładuje znaczniki na mapę
  158. function load() {
  159. //Ustawia środek mapy w wybranej pozycji, ustawia zoom mapy i jej typ - w tym przypadku wskazuje na Sosnowiec
  160. var map = new google.maps.Map(document.getElementById("map"), {
  161. center: new google.maps.LatLng(53.634753, 15.675833),
  162. zoom: 8,
  163. mapTypeId: 'roadmap'
  164. });
  165. var dymekInfo = new google.maps.InfoWindow;
  166.  
  167. //Pobiera nazwę pliku generującego XML
  168. pobierzAdres("wynikiXML.php", function(data) {
  169. var xml = parseXml(data);
  170. //Zczytuje dane z pliku XML
  171. var znaczniki = xml.documentElement.getElementsByTagName("znacznik");
  172. for (var i = 0; i < znaczniki.length; i++) {
  173. var nazwa = znaczniki[i].getAttribute("nazwa");
  174. var data = znaczniki[i].getAttribute("data");
  175. var miasto = znaczniki[i].getAttribute("miasto");
  176. var ikona = znaczniki[i].getAttribute("ikona");
  177. var wspolrzedne = new google.maps.LatLng(
  178. parseFloat(znaczniki[i].getAttribute("lat")),
  179. parseFloat(znaczniki[i].getAttribute("lng")));
  180. //Buduje strukturę wyświetlanego elementu
  181. var html = "<b>" + nazwa + " Data: " + data + " <br />" + miasto;
  182. var ikona = ikonki[ikona] || {};
  183. var znacznik = new google.maps.Marker({
  184. map: map,
  185. position: wspolrzedne,
  186. icon: ikona.icon,
  187. shadow: ikona.shadow
  188. });
  189. laczenieDanych(znacznik, map, dymekInfo, html);
  190. }
  191. });
  192. }
  193.  
  194. //Funkcja wiążąca znaczniki z mapą
  195. function laczenieDanych(znacznik, map, dymekInfo, html) {
  196. google.maps.event.addListener(znacznik, 'click', function() {
  197. dymekInfo.setContent(html);
  198. dymekInfo.open(map, znacznik);
  199. });
  200. }
  201.  
  202. //Wywołanie połączenia za pomocą AJAXa
  203. function pobierzAdres(url, callback) {
  204. var request = window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest;
  205.  
  206. request.onreadystatechange = function() {
  207. if (request.readyState == 4) {
  208. request.onreadystatechange = nicNieRob();
  209. callback(request.responseText, request.status);
  210. }
  211. };
  212.  
  213. request.open('GET', url, true);
  214. request.send(null);
  215. }
  216.  
  217. //Funkcja parsująca XML
  218. function parseXml(str) {
  219. if (window.ActiveXObject) {
  220. var doc = new ActiveXObject('Microsoft.XMLDOM');
  221. doc.loadXML(str);
  222. return doc;
  223. }
  224. else if (window.DOMParser) {
  225. return (new DOMParser).parseFromString(str, 'text/xml');
  226. }
  227. }
  228.  
  229. function nicNieRob() {}
  230. </script>
  231. </body>
  232. </html>
  233. <?php
  234. require_once THEMES."templates/footer.php";
  235. ?>


W pliku wyniki.php jest też kod formularza. Proszę o wskazuwki co jest nie tak.
Przetestować można na stronie http://pogoda-zachodniopomorskie.pl/zjawiska_mapa/index.php

wynikiXML.php
  1. <?php
  2. require('db.php');
  3. //Funkcja parsująca znaki do standardu ASCII, który jest potrzebny dla pliku XML. To też jest zabezpieczenie przed próbą wpisania kodu wykonującego.
  4. function parseToXML($htmlStr)
  5. {
  6. $xmlStr=str_replace("<",'&lt;',$htmlStr);
  7. $xmlStr=str_replace(">",'&gt;',$xmlStr);
  8. $xmlStr=str_replace('"','&quot;',$xmlStr);
  9. $xmlStr=str_replace("'",'&apos;',$xmlStr);
  10. $xmlStr=str_replace("&",'&amp;',$xmlStr);
  11. $xmlStr=str_replace("$",'$',$xmlStr);
  12. $xmlStr=str_replace("%",'%',$xmlStr);
  13. $xmlStr=str_replace("(",'(',$xmlStr);
  14. $xmlStr=str_replace(")",')',$xmlStr);
  15. $xmlStr=str_replace("[",'[',$xmlStr);
  16. $xmlStr=str_replace("]",']',$xmlStr);
  17. $xmlStr=str_replace("{",'{',$xmlStr);
  18. $xmlStr=str_replace("}",'}',$xmlStr);
  19. return $xmlStr;
  20. }
  21.  
  22. $metoda = $_POST['metoda'];
  23. $wyrazenie = $_POST['wyrazenie'];
  24. $wyrazenie = trim($wyrazenie);
  25. if (!$metoda || !$wyrazenie)
  26. {
  27. echo 'Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!';
  28. }
  29. {
  30. $metoda = addslashes($metoda);
  31. $wyrazenie = addslashes($wyrazenie);
  32. }
  33.  
  34.  
  35.  
  36.  
  37. //Otwiera połączenie z serwerem baz danych MySQL
  38. $connection=mysql_connect (localhost, $username, $password);
  39. if (!$connection) {
  40. die ('Nie połączono z serwerem baz danych: '. mysql_error());
  41. }
  42.  
  43. //Wybiera bazę danych z serwera
  44. $db_selected = mysql_select_db($database, $connection);
  45. if (!$db_selected) {
  46. die ('Nie można połączyć się z bazą danych: '. mysql_error());
  47. }
  48.  
  49. //Pobieranie znacznika z tabeli. Dane są pobierane pojedynczo.
  50. $query = "SELECT * FROM google_maps WHERE '".$metoda."' like '%".$wyrazenie."%' AND publicznie='tak'";
  51. mysql_query('SET character_set_connection=utf8');
  52. mysql_query('SET character_set_client=utf8');
  53. mysql_query('SET character_set_results=utf8');
  54. $result = mysql_query($query);
  55. if (!$result) {
  56. die('Niepoprawne zapytanie do bazy: '. mysql_error());
  57. }
  58. //Tworzy plik XML
  59. echo '<znaczniki>';
  60.  
  61. //Tworzy kolejne, pojedyncze wpisy do pliku XML
  62. while ($row = @mysql_fetch_assoc($result)) {
  63. //Dodawanie atrybutów do znacznika
  64. echo '<znacznik ';
  65. echo 'nazwa="' . parseToXML($row['nazwa']) . '" ';
  66. echo 'data="' . parseToXML($row['data']) . '" ';
  67. echo 'miasto="' . parseToXML($row['miasto']) . '" ';
  68. echo 'powiat="' . parseToXML($row['powiat']) . '" ';
  69. echo 'lat="' . $row['lat'] . '" ';
  70. echo 'lng="' . $row['lng'] . '" ';
  71. echo 'ikona="' . $row['ikona'] . '" ';
  72. echo '/>';
  73. }
  74.  
  75. //Zamyka plik XML
  76. echo '</znaczniki>';
  77.  
  78. ?>
nospor
Przeciez jak ladujesz wynikiXML to nic tam nie przysylasz zadnego POST.
Wystarczylo zajrzec w konsole przegladarki i zobaczyc taki ladny tekst:
Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!

Zagadka rozwiazana. Milego wieczoru smile.gif

ps: cobys za chwile nie pisal, ze przeciez wysylasz form to tak, wysylasz form ale tylko dla wyniki.php
Dla wynikiXML.php masz jedynie w kodzie js

pobierzAdres("wynikiXML.php", function(data) {

gdzie funkcja pobierzAdres() zle zapytanie poprzez GET a nie POST i na dodatek nie podajesz tam zadnych parametrow wyszukiwania. Samo w magiczny sposob sie nie doda
brzanek
nospor czy możesz bardziej mi pomóc w tym temacie. Nie mogę sobie z tym poradzić.
A może jest jakiś inny sposób na to.
Jak mogę zrobić aby w adresie strony wywoływanej np. http://pogoda-zachodniopomorskie.pl/zjawis...zien=2017-07-30
wyświetliło raporty zgłoszone właśnie z tego dnia i na mapie i w tablei
Albo po rodzaju http://pogoda-zachodniopomorskie.pl/zjawis...php?nazwa=grad
itp.

Dodałem to tak
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak' AND nazwa='".$_GET['nazwa']."' ORDER BY id DESC";

Działa ale wyniki pojawiają się tylko w tabelce a na mapie nie.
Jeszcze jedno jeśli dodam kolejny warunek
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak' AND nazwa='".$_GET['nazwa']."' AND data='".$_GET['data']."' ORDER BY id DESC";

To już nie działa ani w tabelce ani na mapie
Dlaczego?
nospor
Przeciez ci powiedzialem co masz zrobic:
do AJAXa, ktory leci po punkty do mapy, masz dodac parametry, po ktorych szukasz. Teraz nie przesylasz zadnych parametrow tam. Samo w magiczny sposob sie nie doda.
brzanek
Ale zobacz tu http://pogoda-zachodniopomorskie.pl/zjawis...data=2017-07-30
Dodałem do zapytania w pliku mapa.php
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak' AND data='".$_GET['data']."' ORDER BY id DESC";
  2. mysql_query('SET character_set_connection=utf8');
  3. mysql_query('SET character_set_client=utf8');
  4. mysql_query('SET character_set_results=utf8');
  5. $result = mysql_query($query) or die(mysql_error());
  6. while($row = mysql_fetch_array($result)){
  7.  
  8. echo '<tr>';
  9. echo "<td>".$row['id']."</td>";
  10. echo "<td>".$row['data']."</td>";
  11. echo "<td>".$row['miasto']."</td>";
  12. echo "<td>".$row['powiat']."</td>";
  13. echo "<td>".$row['nazwa']."</td>";
  14. echo "<td>".$row['lat']."</td>";
  15. echo "<td>".$row['lng']."</td>";
  16. echo "<td><a href='".$row['zdjecie']."' target='_blank'></a>".$row['potwierdzenie']."</td>";
  17. echo '</tr>';
  18.  
  19. }

Tak samo zrobiłem w pliku generatorXML.php
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak' AND data='".$_GET['data']."'";
  2. mysql_query('SET character_set_connection=utf8');
  3. mysql_query('SET character_set_client=utf8');
  4. mysql_query('SET character_set_results=utf8');
  5. $result = mysql_query($query);
  6. if (!$result) {
  7. die('Niepoprawne zapytanie do bazy: '. mysql_error());
  8. }
  9.  
  10. //Tworzy plik XML
  11. echo '<znaczniki>';
  12.  
  13. //Tworzy kolejne, pojedyncze wpisy do pliku XML
  14. while ($row = @mysql_fetch_assoc($result)) {
  15. //Dodawanie atrybutów do znacznika
  16. echo '<znacznik ';
  17. echo 'nazwa="' . parseToXML($row['nazwa']) . '" ';
  18. echo 'data="' . parseToXML($row['data']) . '" ';
  19. echo 'miasto="' . parseToXML($row['miasto']) . '" ';
  20. echo 'powiat="' . parseToXML($row['powiat']) . '" ';
  21. echo 'lat="' . $row['lat'] . '" ';
  22. echo 'lng="' . $row['lng'] . '" ';
  23. echo 'ikona="' . $row['ikona'] . '" ';
  24. //echo 'potwierdzenie="' . $row['potwierdzenie'] . '" ';
  25. echo '/>';
  26. }

Już nie chodzi mi o samą wyszukiwarkę ale o dane pobierane z bazy dzięki url.

Dlaczego jeśli zrobię to w pliku generatorXML.php tak do działa na mapie wyświetlają się znaczniki
  1. [php]$query = "SELECT * FROM google_maps WHERE data LIKE '%2017-07-30%' AND publicznie='tak'";
  2. mysql_query('SET character_set_connection=utf8');
  3. mysql_query('SET character_set_client=utf8');
  4. mysql_query('SET character_set_results=utf8');
  5. $result = mysql_query($query);
  6. if (!$result) {
  7. die('Niepoprawne zapytanie do bazy: '. mysql_error());
  8. }
  9.  
  10. //Tworzy plik XML
  11. echo '<znaczniki>';
  12.  
  13. //Tworzy kolejne, pojedyncze wpisy do pliku XML
  14. while ($row = @mysql_fetch_assoc($result)) {
  15. //Dodawanie atrybutów do znacznika
  16. echo '<znacznik ';
  17. echo 'nazwa="' . parseToXML($row['nazwa']) . '" ';
  18. echo 'data="' . parseToXML($row['data']) . '" ';
  19. echo 'miasto="' . parseToXML($row['miasto']) . '" ';
  20. echo 'powiat="' . parseToXML($row['powiat']) . '" ';
  21. echo 'lat="' . $row['lat'] . '" ';
  22. echo 'lng="' . $row['lng'] . '" ';
  23. echo 'ikona="' . $row['ikona'] . '" ';
  24. //echo 'potwierdzenie="' . $row['potwierdzenie'] . '" ';
  25. echo '/>';
  26. }
[/php]
nospor
Cytat
Tak samo zrobiłem w pliku generatorXML.php
Po raz ostatni ci tlumacze:
PLik generatorXML.php odpalasz AJAXem. Do tego pliku na chwile obecna nie przekazujesz zadnych parametrow, zadnych GET ani POST. Skoro nie przekazujesz zadnych parametrow to przyjmij w koncu do wiadomosci ze ich tam nie ma i plik generatorXML.php nie odbiera zadnego $_GET['data'] poniewasz zadnego $_GET['data'] mu nie przekazujesz!
brzanek
To jak przekazać te parametry do pliku generatorXML.php ?
nospor
Do ajaxa uzywasz czystego JS zamiast libow ala jQUery. Musisz w takim razie spojrzez w google, jak ustawiac parametry dla AJAX w czystym js.

ps: swoja droga to dziwne ze bawisz sie w czysty js dla AJAX skoro i tak uzywasz jQuery na stronie...
brzanek
Nadal nic mi nie wychodzi nie mam pojęcia jak ustawić te parametry dla Ajax'a. Google chyba też mi nie pomogło.
brzanek
viking to pewnie by mi pomogło ale dodaję ten kod
  1. var xhr = new XMLHttpRequest();
  2. xhr.open('GET', '/server', true);
  3.  
  4. xhr.onload = function () {
  5. // Request finished. Do processing here.
  6. };
  7.  
  8. xhr.send(null);
  9. // xhr.send('string');
  10. // xhr.send(new Blob());
  11. // xhr.send(new Int8Array());
  12. // xhr.send({ form: 'data' });
  13. // xhr.send(document);

Ale nic się nie zmienia. Wiem, że trzeba to jeszcze pozmieniać ale pojęcia nie mam jak.
viking
To po co zabierasz się za coś czego kompletnie nie rozumiesz? Już ci nospor mówił że masz osadzone jquery http://api.jquery.com/jquery.ajax/
brzanek
Powiedzcie mi chociaż czy idę w dobrym kierunku
w pliku mapa.php zamiast tego
  1. pobierzAdres("generatorXML.php", function(data) {

dałem to
  1. $.get("generatorXML.php", {data='".$_GET['data']."'}, function(data) {

nospor
Tak, idziesz w dobrym kierunku

Nie mniej jednak poczytaj jak wyglada poprawny JSON bo na chwile obecna generujesz go zle. Ba, w przykladach AJAX jquery sa podane poprawne JSON
brzanek
Niestety nic mi z tego nie wychodzi poda ktoś jak mam to zrobić?
nospor
Mowilem, ma byc poprany json

To
{data='jakas data'}
nie jest poprawnym JSON

To
{"data":"jakas data"}
jest poprawnym JSON
brzanek
Zmieniłem na
  1. $.get("generatorXML.php", {name="'".$_GET['data']."'"}, function(data) {

ale nadal nic mi to nie dało.
nospor
Ja nie mam do ciebie sily. Podalem ci jak wyglada poprawny JSON a ty znowu go przerobiles na to co miales wczesniej :/ gorzej jak z dzieckiem... Jak dziecku powiesz, ze ma poprawic i powiesz na co ma poprawic to poprawia, a ty dalej swoje :/
brzanek
Ok zrobiłem tak
  1. $.get("generatorXML.php", {"name"=".$_GET['data']."}, function(data) {

Ale nadal nic mi to nie dało
nospor
Tak sie zastanawiam czy ty tak na powaznie czy sobie poprostu jaja robisz...


Znajdz 10 roznic

{data='jakas data'}
{"data":"jakas data"}

Wypisz mi prosze w nastepnym poscie wszystkie roznice jakie jestes w stanie tutaj znalezc.
brzanek
O rany fakt
  1. $.get("generatorXML.php", {"name":".$_GET['data']."}, function(data) {

Pokazuje wszystkie rekordy na mapie
nospor
Super, to teraz powiedz mi laskawco czemu zamieniles
data
na
name
?
Czemu np nie zaminiles tego na ala_ma_kota tylko akurat czemu na name?
brzanek
hmm nie wiem ale pewnie wziąłem to z tego
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak' AND data='".$_GET['data']."' ORDER BY id DESC";


Ok zmieniłem na
  1. $.get("generatorXML.php", {"data":".$_GET['data']."}, function(data) {
nospor
Teraz wejdz na strone, podejrzyj wygenerowane zrodlo (ctrl + u) i zobacz jak wyglada twoj kod js i czy na pewno jest poprawny

hint:
w kodzie js ma byc
$.get("generatorXML.php", {"data":"tutaj twoja data a nie nieprzetworzony kod php z $_GET['data']"}, function(data) {
brzanek
Tak wiem, że tam ma być ta data ale jak ją uzyskać z adresu?
http://pogoda-zachodniopomorskie.pl/zjawis...data=2017-08-22

Ale dlaczego jak zmieniłem na to
  1. $.get("generatorXML.php", {"data":"2017-08-22"}, function(data) {

To na mapie nadal pojawiły się wszystkie rekordy z bazy a nie tylko te wybrane
nospor
A jak wyglada aktualny plik generatorXML.php ?
brzanek
  1. <?php
  2. //Pobiera dane do połączenia z bazą danych
  3. require('db.php');
  4.  
  5.  
  6. //Funkcja parsująca znaki do standardu ASCII, który jest potrzebny dla pliku XML. To też jest zabezpieczenie przed próbą wpisania kodu wykonującego.
  7. function parseToXML($htmlStr)
  8. {
  9. $xmlStr=str_replace("<",'&lt;',$htmlStr);
  10. $xmlStr=str_replace(">",'&gt;',$xmlStr);
  11. $xmlStr=str_replace('"','&quot;',$xmlStr);
  12. $xmlStr=str_replace("'",'&apos;',$xmlStr);
  13. $xmlStr=str_replace("&",'&amp;',$xmlStr);
  14. $xmlStr=str_replace("$",'$',$xmlStr);
  15. $xmlStr=str_replace("%",'%',$xmlStr);
  16. $xmlStr=str_replace("(",'(',$xmlStr);
  17. $xmlStr=str_replace(")",')',$xmlStr);
  18. $xmlStr=str_replace("[",'[',$xmlStr);
  19. $xmlStr=str_replace("]",']',$xmlStr);
  20. $xmlStr=str_replace("{",'{',$xmlStr);
  21. $xmlStr=str_replace("}",'}',$xmlStr);
  22. return $xmlStr;
  23. }
  24.  
  25. //Otwiera połączenie z serwerem baz danych MySQL
  26. $connection=mysql_connect (localhost, $username, $password);
  27. if (!$connection) {
  28. die ('Nie połączono z serwerem baz danych: '. mysql_error());
  29. }
  30.  
  31. //Wybiera bazę danych z serwera
  32. $db_selected = mysql_select_db($database, $connection);
  33. if (!$db_selected) {
  34. die ('Nie można połączyć się z bazą danych: '. mysql_error());
  35. }
  36.  
  37. //Pobieranie znacznika z tabeli. Dane są pobierane pojedynczo.
  38. //$query = "SELECT * FROM google_maps WHERE data LIKE '%2017-07-30%' AND publicznie='tak'";
  39. $query = "SELECT * FROM google_maps WHERE publicznie='tak'";
  40. mysql_query('SET character_set_connection=utf8');
  41. mysql_query('SET character_set_client=utf8');
  42. mysql_query('SET character_set_results=utf8');
  43. $result = mysql_query($query);
  44. if (!$result) {
  45. die('Niepoprawne zapytanie do bazy: '. mysql_error());
  46. }
  47.  
  48. //Tworzy plik XML
  49. echo '<znaczniki>';
  50.  
  51. //Tworzy kolejne, pojedyncze wpisy do pliku XML
  52. while ($row = @mysql_fetch_assoc($result)) {
  53. //Dodawanie atrybutów do znacznika
  54. echo '<znacznik ';
  55. echo 'nazwa="' . parseToXML($row['nazwa']) . '" ';
  56. echo 'data="' . parseToXML($row['data']) . '" ';
  57. echo 'miasto="' . parseToXML($row['miasto']) . '" ';
  58. echo 'powiat="' . parseToXML($row['powiat']) . '" ';
  59. echo 'lat="' . $row['lat'] . '" ';
  60. echo 'lng="' . $row['lng'] . '" ';
  61. echo 'ikona="' . $row['ikona'] . '" ';
  62. //echo 'potwierdzenie="' . $row['potwierdzenie'] . '" ';
  63. echo '/>';
  64. }
  65.  
  66. //Zamyka plik XML
  67. echo '</znaczniki>';
  68.  
  69. ?>


Rozumiem, że to
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak'";


Zamienić na to?
  1. $query = "SELECT * FROM google_maps WHERE publicznie='tak' AND data='".$_GET['data']."'";
nospor
Wywaliles warunek na date i sie dziwisz...
brzanek
Zmieniłem ale teraz na mapie nic się nie pojawia
nospor
Wiem, bo zamiast daty masz nieprzetworzony kod php. Juz ci to wyjasnilem zdaje sie wczesniej.
brzanek
To jak mam to przetworzyć na datę i w którym pliku?
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.