2013-07-20 75 views
-3

我在此格式的PHP文件:輸出XML陣列解析PHP重複六次

<?php 
$username = "root"; 
$password= ""; 
$db = "kamus1"; 
mysql_connect("localhost",$username,$password) or die("koneksi ke MySQL gagal"); 
mysql_select_db($db) or die ("koneksi ke dataBase gagal"); 

$doc = new DomDocument('1.0'); 
$root = $doc->createElement('movies'); 
$root = $doc->appendChild($root); 
$arr = array(); 

//$query=mysql_query("select id,istilah,definisi from kamus_jaringan"); 
$query=mysql_query("select * from kamus_jaringan"); 
while($get_data = mysql_fetch_array($query)) 
{ 
foreach($get_data as $fieldname=>$fieldvalue) 
{ 

$item = $doc->createElement('movie'); 
$item = $root->appendChild($item); 
$item ->setAttribute("id",$get_data["id"]); 
$item ->setAttribute("istilah",$get_data["istilah"]); 
$item ->setAttribute("definisi",$get_data["definisi"]); 
} 
} 
echo $doc->saveXML(); 
$doc->save("movies.xml"); 
?> 

當在瀏覽器上執行該代碼,每個數據的輸出將被重複多達六次。例如id,將重複六次。我只需要一次輸出到每個數據。請幫忙

+0

嗯,也許最多有六行在你的數據庫?你必須告訴我們更多關於你想要做什麼,以及數據庫表看起來像什麼 –

+1

縮進不是一個選項。 –

回答

0

首先,不要使用mysql_ *函數,它們是不推薦使用的。其次,你有兩個循環,你只需要一個,將你的代碼更改爲:

while($get_data = mysql_fetch_array($query)) 
{ 
    $item = $doc->createElement('movie'); 
    $item = $root->appendChild($item); 
    $item ->setAttribute("id",$get_data["id"]); 
    $item ->setAttribute("istilah",$get_data["istilah"]); 
    $item ->setAttribute("definisi",$get_data["definisi"]); 
} 
+0

非常感謝。這個對我有用。謝謝....^_^ – hamid

+0

:非常感謝。這個對我有用。謝謝....^_^ – hamid

+0

不客氣! – m4t1t0