如何从MySQL数据库中检索数据并将其保存到xml文件中

时间:2013-10-07 14:58:19

标签: php html mysql xml forms

需要你的帮助,因为我严重困在这里。我有MySQL数据库和HTML表单。我可以通过该表单连接到我的数据库,没有任何问题。我的所有按钮(FIND,DELETE,UPDATE和ADD)也可以正常工作。现在我决定添加PRINT按钮,假设将检索到的数据导出到xml文件(稍后将转换为pdf文件,但我知道如何处理)。知道如何或从哪里开始???我可以使用一些PHP功能吗?

我实际上通过为PRINT按钮创建函数然后稍后调用该函数来解决该问题。一切都很完美。

 function printRecords($query){
 global $ID, $Name, $Address,$Country, $Ph_number;
 $result = mysql_query($query);
 $resultCount = mysql_num_rows($result);
    $query= 'SELECT ID, Name, Address , Country, Ph_number FROM people';
    $fp= @fopen ("somefile.xml","w")or
         die ("Could not open file");

    $data = "";
    for ($r=0; $r<$resultCount; $r++) {

        $rec = mysql_fetch_assoc($result);
        $data = sprintf("<Name>%s</Name>\r\n<Address>%s</Address>\r\n
        <Ph_number>%s</Ph_number>\r\n"
        $rec['Name'], $rec['Address'], $rec['Ph_number'] );

        fwrite($fp, $data);
    }
    @fclose($fp);
    return($resultCount);
 }

2 个答案:

答案 0 :(得分:2)

通过mysql命令行尝试xml导出?

e.g。

  

mysql -uroot -p --xml -e'SELECT * FROM mydb.Table1'&gt; table1.xml

请参阅MySQL manual command options for xml

我刚看到您通过html表单访问数据库,也许无法运行命令行?

否则你可以从我在SQLFIDDLE做的一个简单查询中选择你自己的xmldoc。

create table animal(id int, name char(10));

insert into animal values
(1,'dog'),
(2,'cat'),
(3,'mouse'),
(4,'horse'),
(5,'cow');

SELECT 
  CONCAT('\n<animals>\n', 
  GROUP_CONCAT('<animal id=', id, '>',name,'</animal>\n' SEPARATOR ''), 
  '</animals>') AS xmldoc 
FROM animal;

输出将是:

<animals> 
  <animal id=1>dog</animal> 
  <animal id=2>cat</animal> 
  <animal id=3>mouse</animal> 
  <animal id=4>horse</animal> 
  <animal id=5>cow</animal> 
</animals>

The sqlfiddle

答案 1 :(得分:0)

您可以通过php应用程序连接到您的数据库,然后使用自定义功能,您可以根据需要导出xml,cvs,excel或html等数据。

要通过php导出xml格式,请检查此链接。它的工作原理

How can I export to an XML file instead of printing it on screen?