php根据主表中类型遍历从表对于数据 生成mxl 文件数据只显示一条 具体如下
createelement(list);
$dom->appendchild($root);
$dom->formatoutput=true;
$sqlclass=select music_class from dj_class;//从数据库里读数据
$resclass = mysql_query($sqlclass);
while($rowclass = mysql_fetch_array($resclass))
{
$music_class = $rowclass['music_class'];//读取字段
$item = $dom->createelement(m);
$root->appendchild($item);
$item_url = $dom->createattribute(label);
$item->appendchild($item_url);
$item_urlvalue = $dom->createtextnode($music_class);
$item_url->appendchild($item_urlvalue);
$item_urlx = $dom->createelement(m);
$item->appendchild($item_urlx);
echo $music_class;
echo
;
echo ;
$sqlmusic=select * from dj_music where music_ishtml='$music_class';//从数据库里读数据
$resmusic = mysql_query($sqlmusic);
$sqlc=select count(*) as count from dj_music where music_ishtml='$music_class';
$result=mysql_fetch_array(mysql_query($sqlc));
$count=$result['count'];
//echo $count;
//echo
;
if($count>0){//此处判断是否有数据
for($i = 0;$i {
while($rowmusic = mysql_fetch_row($resmusic))
{
echo$rowmusic[1];
echo$rowmusic[2];
echo
;
$item_url = $dom->createattribute(type);
$item_urlx->appendchild($item_url);
$item_urlvalue = $dom->createtextnode();
$item_url->appendchild($item_urlvalue);
$item_url = $dom->createattribute(src);
$item_urlx->appendchild($item_url);
$item_urlvalue = $dom->createtextnode($music_url);
$item_url->appendchild($item_urlvalue);
$item_url = $dom->createattribute(lrc);
$item_urlx->appendchild($item_url);
$item_urlvalue = $dom->createtextnode($rowmusic[2]);
$item_url->appendchild($item_urlvalue);
$item_url = $dom->createattribute(label);
$item_urlx->appendchild($item_url);
$item_urlvalue = $dom->createtextnode($rowmusic[1]);
$item_url->appendchild($item_urlvalue);
}
}
}else {
echo 无数据;
echo
;
}
}
// save tree to file
$dom->save(../xml/list.xml);//保存到指定目录下
//header(location:content_show.php);
?>
php 输出结果为
天傲网游公会
wwww
豪门网游公会
滴答../xml/music/刀剑如梦.mp3
凤凰传奇../xml/music/刀剑如梦.mp3
散人天堂公会
刀剑如梦../xml/music/刀剑如梦.mp3
生成xml则是
正确的xml如下
认真请教,请大家帮助指导 先谢谢了
回复讨论(解决方案) 因为$item_urlx = $dom->createelement(m);是在循环外部,实际上只有一个
无论循环多少次,后面的都是覆盖掉前面的值,最终只产生一个node
谢谢 问题已解决