私は 2 つのテーブルを持っています。1 つ目はレストラン情報を保存し、2 つ目はそれぞれで提供される料理を保存します。それらは res_id を使用してリンクされています。
1) info_main [id, res_id, res_name,res_pc] 2) 料理 [id,dishName,price,res_id(Foreign key)]
私の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構造を実現する方法がわかりません。よろしくお願いいたします。ありがとう