2013-07-20 3 views
-3

여섯 번이 코드가 브라우저에서 실행되는 경우XML 출력 배열 PHP 파싱 반복 I이 형식으로 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"); 
?> 

데이터의 각각의 출력은 6 회 반복 될 것이다 . 예를 들어 ID는 6 번 반복됩니다. 각 데이터에 한 번만 출력하고 싶습니다. 도와주세요

+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