我試圖通過使用數據庫通過MYSQL和PHP創建XML文件來製作電視指南。到目前爲止我已經取得了很好的成功,並且已經設法輸出每天的各種頻道。如何使用PHP和帶條件嵌套的MYSQL創建XML
問題是當我嘗試帶入各種程序時。在數據庫中,每個程序都被分配一天並顯示頻道。然而,正在生成的XML將每個節目放在每個頻道的每一天。
這是我到目前爲止有:
$xml = new DOMDocument("1.0", "UTF-8");
$xml->formatOutput = TRUE;
$day_query = "SELECT day_name FROM day;";
$dq_result = mysql_query($day_query) or die(mysql_error());
$tvguide = $xml->createElement("guide");
$tvguide = $xml->appendChild($tvguide);
if($dq_result)
while($dayrow = mysql_fetch_row($dq_result)){
$day = $xml->createElement("day");
$day->setAttribute("name", $dayrow[0]);
$day = $tvguide->appendChild($day);
$channel_query = "SELECT channel_ID, channel_Name FROM channel ORDER BY channel_Name ASC;";
$cq_result = mysql_query($channel_query) or die(mysql_error());
if($cq_result)
while($channelrow = mysql_fetch_row($cq_result)){
$channel = $xml->createElement("channel");
$channel->setAttribute("id", $channelrow[0]);
$channel = $day->appendChild($channel);
$channel_name = $xml->createElement("channel_name");
$channelNameText = $xml->createTextnode($channelrow[1]);
$channel_name->appendChild($channelNameText);
$channel_name = $channel->appendChild($channel_name);
$show_query = "SELECT programme_ID, programme_Name, start_Time, duration, description, day_Name, channel_Name FROM programme ORDER BY start_Time ASC;";
$sq_result = mysql_query($show_query) or die(mysql_error());
if($sq_result)
while($showrow = mysql_fetch_row($sq_result)){
$show = $xml->createElement("show");
$show = $channel->appendChild($show);
$show_name = $xml->createElement('show_name');
$show_name->setAttribute("id", $showrow[0]);
$showNameText = $xml->createTextnode($showrow[1]);
$show_name->appendChild($showNameText);
$show->appendChild($show_name);
}
}
}
基本上,我想知道我怎麼可以嵌套所有其DAY_NAME等於星期一,例如,「星期一」 XML標籤中顯示。謝謝。
非常好,非常感謝你的幫助=) – user2950001 2014-12-03 14:27:16