Следвам този урок, когато разбрах, мога Не виждам очаквания резултат, защото не мога да видя данните си в xml формат. Промених малко данните за конфигурацията, не знаех дали това е причината за неизправността?
<?php
// Get parameters from URL
$center_lat = $_GET["lat"];
$center_lng = $_GET["lng"];
$radius = $_GET["radius"];
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, 'root', '12345678');
if (!$connection) {
die("Not connected : " . mysql_error());
}
// Set the active mySQL database
$db_selected = mysql_select_db('demo', $connection);
if (!$db_selected) {
die ("Can\'t use db : " . mysql_error());
}
// Search the rows in the markers table
$query = sprintf("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
mysql_real_escape_string($center_lat),
mysql_real_escape_string($center_lng),
mysql_real_escape_string($center_lat),
mysql_real_escape_string($radius));
$result = mysql_query($query);
if (!$result) {
die("Invalid query: " . mysql_error());
}
header("Content-type: text/xml");
// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name", $row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("distance", $row['distance']);
}
echo $dom->saveXML();
?>
Очаквам да получа подобен резултат като този http://gmaps-samples.googlecode.com/svn/trunk/articles-phpsqlsearch/phpsqlsearch_expectedoutput.xml, но нищо не се появява. Изглежда, че няма никакви данни, но вече импортирах данните в моя mysql.
var_dump
реда $, за да видите дали има съдържание в него - person Gordon   schedule 04.07.2011@
от началото на @mysql_fetch_assoc (тъй като @ потиска грешките) и след това в тозиwhile
цикъл добаветеecho '<pre>'.print_r($row,true).'</pre>';
Това просто ще види дали вашият заявката всъщност връща всякакви данни. Също така се уверете, че сте задали lat/lng/radius като $_GET променливи в URL адреса, напр. page.php?lat=27.3748&lng=127.7475&radius=50 - person Benno   schedule 04.07.2011Undefined index: lat in C:\xampp\htdocs\demo\map\phpsqlsearch_genxml.php on line 4
три от тази грешка. - person woninana   schedule 05.07.2011phpsqlsearch_genxml.php
), трябва да посочите $_GET параметри, защото подавате $_GET променливи (ред 4-6) към заявката за търсене (ред 27- 30). Така E.G. Ако отваряте тази страница на/demo/map/phpsqlsearch_genxml.php
, трябва вместо това да заредите този URL адрес:/demo/map/phpsqlsearch_genxml.php?lat=127.4364636&lng=26.23523&radius=50
(с изключение на промяна на други параметри за ширина/дължина, които са във вашата база данни). напр. $_GET['radius'] тук е 50. Това ще зададе параметрите за широчина, дължина и радиус, които заявката ви използва, за да върне информацията. - person Benno   schedule 05.07.2011