Использование PHP / MySQL с Google Maps - PullRequest
1 голос
/ 18 марта 2010

Обновление 2 : Таким образом, я никогда не использовал функцию отладки в firebug, но я просто посмотрел на раздел сценариев и получил это, теперь я попытаюсь выяснить это.

Не удалось загрузить источник для: http://localhost/googleMap/phpsqlajax_genxml.php

хия,

Я следовал этому уроку ниже http://code.google.com/apis/maps/articles/phpsqlajax_v3.html#outputxml

Я столкнулся с проблемой, почти в конце, я надеюсь, что кто-то еще здесь получил это работает и может помочь мне обнаружить мою проблему. Просто есть 4 шаги к этому уроку

  • Создание таблицы
  • Заполнение таблицы
  • Вывод XML с помощью PHP
  • Создание карты

Я успешно выполнил все шаги, однако выведенный xml не читается созданной мною картой Google. Файлы все на одном каталог, и я не изменил ни одно из имен файлов из руководство. В учебнике есть шаг, чтобы проверить, называется ли php-файл phpsqlajax_genxml.php выводит xml, и я успешно протестировал это и было.

Проблема в том, что карта не отображает элементы, которые у меня есть в база данных, которая должна быть преобразована в xml для чтения карты.

Любая помощь или указание мне в правильном направлении будет много оценили.

ОБНОВЛЕНИЕ 1 : Я понимаю, что у меня нет кода для показа здесь, есть только 3 файла, поэтому я не уверен, какой из них будет наилучшим. У меня есть вопрос, который может помочь моей проблеме.

В части вывода xml урока меня тоже спрашивают

Вызовите этот PHP-скрипт из браузера. чтобы убедиться, что он производит действительный XML. Если вы подозреваете, что есть проблема с подключившись к вашей базе данных, вы можете легче отлаживать, если удалить строка в файле, которая устанавливает заголовок типа содержимого text / xml, как это обычно вызывает ваш браузер попытаться разобрать XML и может сделать это трудно увидеть вашу отладку сообщения.

Это файл phpsqlajax_dbinfo.php

<?php
$username="root";
$password="root";
$database="root-googleMap";
?>

Это код для генерации XML, является ли документ XML, созданный после, и могу ли я открыть его, или это временное преобразование. Если да, то как мне выполнить описанный выше шаг для проверки, я не совсем понимаю.

<?php
require("phpsqlajax_dbinfo.php");

// Start XML file, create parent node
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("markers");
$parnode = $doc->append_child($node);

// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}

// Set the active mySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table
$query = "SELECT * FROM markers WHERE 1";
$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)){
  // ADD TO XML DOCUMENT NODE
  $node = $doc->create_element("marker");
  $newnode = $parnode->append_child($node);

  $newnode->set_attribute("name", $row['name']);
  $newnode->set_attribute("address", $row['address']);
  $newnode->set_attribute("lat", $row['lat']);
  $newnode->set_attribute("lng", $row['lng']);
  $newnode->set_attribute("type", $row['type']);
}

$xmlfile = $doc->dump_mem();
echo $xmlfile;

?>

1 Ответ

3 голосов
/ 20 марта 2010

Я предполагаю (и надеюсь), что вы больше не используете PHP 4 и что это является источником вашей проблемы. Функции, относящиеся к манипулированию DOM XML, были заменены классом DOMDocument, который имеет разные имена методов. .

Поэтому я реорганизовал ваш код для совместимости с PHP 5:

<?php
require("phpsqlajax_dbinfo.php");

// Start XML file, create parent node
$doc = new DOMDocument("1.0");
$node = $doc->createElement("markers");
$parnode = $doc->appendChild($node);

// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}

// Set the active mySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table
$query = "SELECT * FROM markers WHERE 1";
$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)){
  // ADD TO XML DOCUMENT NODE
  $node = $doc->createElement("marker");
  $newnode = $parnode->appendChild($node);

  $newnode->set_attribute("name", $row['name']);
  $newnode->set_attribute("address", $row['address']);
  $newnode->set_attribute("lat", $row['lat']);
  $newnode->set_attribute("lng", $row['lng']);
  $newnode->set_attribute("type", $row['type']);
}

echo $doc->saveXML();

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...