Как преобразовать базу данных в XML-файл с помощью PHP в случае объединения двух и более таблиц?
Я хочу преобразовать свою базу данных wordpress в xml-код с помощью php, есть много кодов для этой проблемы, но ни один из них не работает для объединения таблиц.
Что я уже пробовал:
Я попробовал php код ниже но он не работает потому что когда я соединяю таблицы я не могу определить корневой элемент поэтому древовидная структура отсутствует
<?php $config['mysql_host']="localhost"; $config['mysql_user']="user"; $config['mysql_pass']="pass"; $config['db_name']="name"; $config['table_name']="tbl1"; mysql_connect($config['mysql_host'],$config['mysql_user'],$config['mysql_pass']); mysql_select_db($config['db_name']) or die("unable to select database"); $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; $root_element = $config['table_name']."s"; //users $xml .= "<$root_element>"; //select all item intable $sql = "SELECT * FROM tbl1 join tbl2 on tbl1.id = tbl2.id"; $result = mysql_query($sql); if (!$result) { die('Invalid query: ' . mysql_error()); } if(mysql_num_rows($result)>0) { while($result_array = mysql_fetch_assoc($result)) { $xml .= "<".$config['table_name'].">"; //loop through each key,value pair in row foreach($result_array as $key => $value) { //$key holds the table column name $xml .= "<$key>"; //embed the SQL data in a CDATA element to avoid XML entity issues $xml .= "<![CDATA[$value"; //and close the element $xml .= "</$key>"; } $xml.="</".$config['table_name'].">"; } } //close the root element $xml .= "</$root_element>"; //send the xml header to the browser header ('Content-Type:text/xml; default_charset=utf-8;'); //output the XML data echo $xml; ?>
Возможно ли это вообще? Как я могу это сделать? Любой совет очень ценится. Спасибо.