2015-07-07 5 views
-1

Я следую учебник о том, как сделать использование Карт Google в качестве магазина локатора here, однако, моя веб-страница выводит сообщение об ошибке XML:

enter image description here

Что означает ошибка? как я его разрешу?

Я объявил GLOBALS в файле .php, который имеет следующую информацию. Этот файл автоматически вызывается в моем require()

$GLOBALS['SRVR'] ='myServer'; 
$GLOBALS['USER'] ='myUID'; 
$GLOBALS['PASS'] ='myPASSWORD'; 

, а затем я поставил код, как показано в руководстве по функции, и я вызываю функцию. Я также преобразовал mysql в mysqli. Я также создал таблицу с именем markers, как в учебнике.

require("indexhead.php"); 

function MaptheStore() //I plan to add an argument later to populate stores 
{ 
    // 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); 

     // Set the active mySQL database 

     $db_selected = mysqli_select_db($GLOBALS['con'], 'myDB'); 
     if (!$db_selected) { 
      die (mysqli_error($db_selected)); 
     } 

    // 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 myDB.markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20", 
     mysqli_real_escape_string($GLOBALS['con'],$center_lat), 
     mysqli_real_escape_string($GLOBALS['con'],$center_lng), 
     mysqli_real_escape_string($GLOBALS['con'],$center_lat), 
     mysqli_real_escape_string($GLOBALS['con'],$radius)); 

    $result = mysqli_query($GLOBALS['con'],$query); 
    if (!$result) { 
     die("Invalid query: " . mysqli_error($result)); 
    } 

    header("Content-type: text/xml"); 

    // Iterate through the rows, adding XML nodes for each 
    while ($row = @mysqli_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']); 
    } 

return $dom->saveXML(); 
} 


echo MapTheStore(); 

Наконец, я вставил это для имитации $ _GET [] (?lat=37&lng=-122&radius=25), чтобы проверить страницу, как в учебнике.

Является ли ошибка, вызванная тем, что я конвертирую код в mysqli? как я его разрешу? что именно вызывает ошибку?

EDIT: Вот моя структура таблицы для markers enter image description here

и вот его содержимое ... enter image description here

EDIT: исходный текст веб-страницы, имеет этот вывод, в основном только мои заголовки:

enter image description here

+0

Как выглядит вывод? Похоже, в XML есть несколько атрибутов rel = "". – geocodezip

+0

Это изображение красного цвета. Чтобы тот человек, который подал заявку, почему нисходящий? –

+0

Красное изображение не является выходным, сделайте источник просмотра на этой странице и добавьте это к вашему вопросу (и «рендеринг до первой ошибки также будет полезен). – geocodezip

ответ

1

Это должно быть что-то, что вы сделали в базе данных.

http://viper-7.com/Nv5tDB

Эта ссылка выше остальной XML создан, и, кажется, все в порядке, так что база данных является вероятной причиной.

+0

, хотите ли вы, чтобы я разместил вывод 'select' таблицы? Я копирую и вставляю тот, который приведен в примере в учебнике. –

+0

да, может помочь – n099y

+0

Я отредактировал мой вопрос –

Смежные вопросы