我有 2 张桌子,第一个存储餐厅信息,第二个存储每个服务的菜肴。它们使用 res_id 链接。
1) info_main [id, res_id, res_name,res_pc] 2) 菜肴 [id,dishName,price,res_id(外键)]
我的 SQL 查询是
$query = "SELECT * FROM info_main LEFT JOIN dishes ON info_main.res_id = dishes.res_id";
我将查询结果插入到一个工作正常的 xml 文件中。下面是代码:
$query = "SELECT * FROM info_main LEFT JOIN dishes ON info_main.res_id = dishes.res_id";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
echo '<markers>';
// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo '<marker> ';
echo '<detail1>';
echo '<resdetails ';
echo 'name="' . parseToXML($row['res_name']) . '" ';
echo 'id="' . parseToXML($row['res_ID']) . '" ';
echo 'pc="' . parseToXML($row['res_pc'] ). '" ';
echo '/>';
echo '<dishdetails ';
echo 'name="' . parseToXML($row['dishName']) . '" ';
echo 'price="' . parseToXML($row['price']) . '" ';
echo '/>';
echo '</detail1>';
echo '</marker>';
}
这很好,但是如果一家餐馆在数据库中有 3 道菜,那么 xml 会创建 3 个节点: 像这样:
我想要像这样的xml结构
<detail1>
<resdetails name="spoted dog" id="xyz" pc="xyz"/>
<dishdetails name="bean burger" price="1" />
<dishdetails name="cheese and tomato panini" price="3" />
<dishdetails name="veg salad" price="2" />
</details1>
我不知道如何实现上述 xml 结构。非常感谢您的帮助。谢谢