ホームページ > バックエンド開発 > PHPチュートリアル > PHP が XML ファイルとテーブル データを作成する際に 1 つのデータしか読み取れないのはなぜですか?

PHP が XML ファイルとテーブル データを作成する際に 1 つのデータしか読み取れないのはなぜですか?

WBOY
リリース: 2016-06-23 14:04:52
オリジナル
909 人が閲覧しました

PHP はメインテーブルの型に基づいてスレーブテーブルを走査し、1 つのデータのみを表示する mxl ファイルデータを生成します。 詳細は次のとおりです。

include("admin.php"); (file_exists("../xml/list.xml"))
{
unlink("../xml/list.xml");// 存在する場合は最初に削除します
}
// doctype ヘッダーを作成します
$ dom = new DOMDocument("1.0","utf-8 ");
// ルート要素オブジェクトを作成します
$root = $dom->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_url->createTextNode($music_class); ($item_urlValue);


$item_urlx = $dom->createElement("m");


echo "$music_class"; />";
echo "    ; " ) AS count FROM dj_ishtml='$music_class'"
$count=$result['count' ];


//echo "$count";
//echo "
"



if($count>0){//ここにデータがあるかどうかを判断します



for($i = 0;$i < $count ;$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) );
$dom->createTextNode( $music_url);
$item_url = $dom->createAttribute("lrc"); >appendChild($item_url);
$item_urlValue = $dom->createTextNode("$rowMusic[2]");
$item_url->appendChild($item_urlValue); createAttribute("label");
$item_urlx-> appendChild($item_urlValue) = $dom->createTextNode("$rowMusic[1]");
$item_url->appendChild($item_urlValue) ;

}

}

}else {
echo "
"
}

}

// ツリーをファイルに保存
$dom->save ("../xml/list.xml"); //指定したディレクトリに保存します
//header("location:content_show.php");



php 出力結果は

Tianaoオンラインゲームギルド
wwww
リッチオンラインゲームギルド
Titick../ xml/music/Swords are like a dream.mp3
Phoenix Legend../xml/music/Swords are like a dream.mp3
Sanren Tian Guild
Swords are like a dream../xml/music/Swords are like a dream.mp3

生成される XML は

" lrc="../xml/music/Swords Like Dreams.mp3" label="フェニックス伝説"/>




正しい XML は次のとおりです






< m label="サンレンパラダイスギルド">

< ;/m>




真剣に、助けて導いてください。ありがとう。事前に














ディスカッションへの返信 (解決策)

$item_urlx = $dom->createElement("m"); がループの外にあるため、実際にだけone

何度ループしても前の値は次の値で上書きされ、最終的に生成されるノードは 1 つだけです

ありがとうございます 問題は解決しました

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート