【问题标题】:How to fetch data from mysql to XML File [closed]如何从mysql获取数据到XML文件[关闭]
【发布时间】:2018-11-15 16:19:53
【问题描述】:

我是 PHP 的业余爱好者,但我必须使用 Google Maps API 构建网站。

我用这里的信息构建它:developers.google

带有坐标的数据保存在 Mysql DB 的表中。 此时我必须手动运行一个 PHP 文件,该文件在浏览器上生成/回显一个 XML,我必须将其保存在我的 htdocs 目录中。 在 JS 脚本中,我运行一个函数,该函数从 XML 加载数据以在地图上显示地址。

目标是,我不必手动运行这个生成 XML 的 PHP 文件,我还必须手动将它保存到 htdocs 目录。

这是我将 XML 数据回显到浏览器的地方:

// Start XML file, echo parent node
echo "<?xml version='1.0' ?>";
echo '<markers>';
$ind=0;
// Iterate through the rows, printing XML nodes for each
while ($row = @mysqli_fetch_assoc($result)){
  // Add to XML document node
  echo '<marker ';
  echo 'id="' . $row['id'] . '" ';
  echo 'name="' . parseToXML($row['name']) . '" ';
  echo 'address="' . parseToXML($row['address']) . '" ';
  echo 'lat="' . $row['lat'] . '" ';
  echo 'lng="' . $row['lng'] . '" ';
  echo 'type="' . $row['type'] . '" ';
  echo '/>';
  $ind = $ind + 1;
}
// End XML file
echo '</markers>';

我怎样才能不合时宜地完成这个过程?这应该是可能的,但我在 Google 上一无所获。我搜索了“php fetch from mysql to xml”等,发现了很多关于如何从 XML 获取数据到 Mysql 的信息。

我希望你能理解我糟糕的英语。

问候

【问题讨论】:

  • 自动是什么意思?
  • 如果我打开网站的 URL,它应该使用来自 MySql 的数据构建一个 XML 文件。因为如果有人更新数据库中的一些数据,我必须确保谷歌地图显示所有实际地址。
  • 然后我假设您必须让 javascript 每隔 XX 秒使用 AJAX 询问此数据,以便它在您的页面上刷新。是这个意思吗?
  • 是的,类似的。我的网站上不需要 100% 的实际数据。此时,我的网站不会自动创建此 XML。在我打开我的网站之前,我必须手动运行 php 文件,然后将输出(带有 xml 数据)保存到我的 htdocs 目录,然后我可以打开我的网站。我只需要找到不回显 XML-Data 的东西……将这种格式写入 xml 文件的东西。
  • @RomanKrattiger 您可以在 php 中使用 require('PAGE URL'),这样您就可以从另一个 php 文件调用该 php 文件来处理脚本,而无需每次都手动调用它。这是你需要的吗?

标签: php mysql xml


【解决方案1】:

要创建您请求的 XML 文件,您需要在每次请求时写入/创建文件。

// This creates the userinfo.xml file and 'w' writes to it.
$xmlfile = fopen("userinfo.xml", "w"); 
$userData = "USER INFORMATION GOES HERE";
fwrite($xmlfile,$userData);
fclose($xmlfile);

此函数将覆盖名为“userinfo.xml”的文件(如果存在)并使用 $userData 传递的信息覆盖它,因此在处理写入文件之前要小心。

【讨论】:

  • 好的,谢谢先生!但有一个问题......我怎样才能将当前输出(xml 数据)获取到这个 $userData 文件?我可以用创建格式化文本的东西替换循环中的“回声”吗?
  • @RomanKrattiger 将每个 Echo 中的文本信息存储到字符串中,例如 $userData,然后在 fwrite 中创建文件时将其作为参数传递。
  • 好的,我会试试的。非常感谢您的帮助先生!
  • @RomanKrattiger 欢迎您!如果此答案对您有所帮助,请不要忘记将其标记为正确/答案,谢谢!
猜你喜欢
  • 2012-12-15
  • 2014-01-15
  • 2018-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多