Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Generowanie XML na potrzeby Google Maps
Forum PHP.pl > Forum > Przedszkole
soft_dev
Mam taki oto kod który ma mi wygenerować XML'a z bazy danych

  1. <?php
  2. require("dbinfo.php");
  3. $lat = $_GET["lat"];
  4. $lng = $_GET["lng"];
  5. $adres = $_GET["adres"];
  6.  
  7. $dom = new DOMDocument("1.0");
  8. $node = $dom->createElement("dane");
  9. $parnode = $dom->appendChild($node);
  10.  
  11. $connection=mysql_connect (localhost, $username, $password);
  12. if (!$connection) {
  13. die("Not connected : " . mysql_error());
  14. }
  15.  
  16. $db_selected = mysql_select_db($database, $connection);
  17. if (!$db_selected) {
  18. die ("Can\'t use db : " . mysql_error());
  19. }
  20. $query = "SELECT * FROM miasto WHERE adres = '$adres' ";
  21.  
  22.  
  23. $result = mysql_query($query);
  24.  
  25. if (!$result) {
  26. die("Invalid query: " . mysql_error());
  27. }
  28.  
  29. header("Content-type: text/xml");
  30.  
  31. while ($row = mysql_fetch_assoc($result)){
  32. $node = $dom->createElement("marker");
  33. $newnode = $parnode->appendChild($node);
  34. $newnode->setAttribute("lat", $row['lat']);
  35. $newnode->setAttribute("lng", $row['lng']);
  36. $newnode->setAttribute("adres", $row['adres']);
  37. }
  38.  
  39. echo $dom->saveXML();
  40. ?>


Cały problem polega na pobraniu zmiennej adres wg. tego zapytania

  1. $query = "SELECT * FROM miasto WHERE adres = '$adres' ";


Wynik jest pusty, natomiast gdy zapytam takim zapytaniem:

  1. $query = "SELECT * FROM miasto";


Czyli generowanie działa, ale problem jest w zapytaniu. Można prosić o wskazówki?
nospor
no to moze nie ma zadnych rekordow spelniających ten warunek. Patrzyles co wogole zawiera $adres?

  1. echo $query;

I wykonaj sobie to zapytanie np. w PMA
soft_dev
Cytat(nospor @ 24.08.2009, 14:30:44 ) *
no to moze nie ma zadnych rekordow spelniających ten warunek. Patrzyles co wogole zawiera $adres?

  1. [list=1][*][url="http://www.php.net/echo"]echo[/url] $query;[/list]


I wykonaj sobie to zapytanie np. w PMA


Oczywiście miałeś racje, warunek nie spełniał kryteriów wyboru, zmieniłem na

  1. $query = "SELECT * FROM miasto WHERE adres LIKE '%{$adres}%';


i wyszukuje bardzo ładnie smile.gif

Niestety napotkałem kolejny problem, tj z wyszukiwanie zakresu dat. W PMA wydaje polecenie

  1. SELECT * FROM miasto WHERE miasto='Warszawa' AND DATA BETWEEN '2009-05-10' AND '2009-05-30';


To mi śliczne znajduje kilka rekordów, ale gdy już z poziomu PHP chcę pobrać za pomocą zapytania

  1. $query = "SELECT * FROM miasto WHERE adres LIKE '%{$adres}%' AND data BETWEEN '%{$dataod}%' AND '%{$datado}%'";


To niestety wynik wynosi 0, jakieś sugestie?

Już sobie poradziłem smile.gif

Dla osób którym może się kiedyś przydać tak wygląda zapytanie SQL w PHP

  1. $query = "SELECT * FROM miasto WHERE (data BETWEEN '$data1' AND '$data2') AND adres LIKE '%{$adres}%' ";
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.