2012-04-20 16 views
0

データベースからのクエリーからデータを追加/表示し、それをXMLファイルに追加したいとします。 例として、名前と年齢を持つtable_personsがあります。私はその名前と年齢を取得するmysqlクエリを作成します。次に、データ(人名と年齢)をXMLファイルに格納します。php/mysqlクエリーからXMLファイルにデータを追加する

どうすればよいですか?それとも可能ですか?

+1

http://php.net/fopen http://php.net/fwrite http://php.net/file_put_contents –

答えて

-1
<?php 
[snip] //database code here 

$f = fopen('myxml.xml', 'a+'); 
foreach($row = mysqli_fetch_assoc($resultFromQuery)) 
{ 
    $str = "<person> 
     <name>{$row['name']}</name> 
     <age>{$row['age']}</age> 
    </person>\n"; 
    fwrite($f, $str); 
} 
fclose($f); 
?> 

mysqliとすると、このコードは機能します。そうでない場合は、適合するようにしてください。 fopen関数呼び出しでは、a+は、ファイルの最後にポインタを置いて、書き込み時に読み込み用に開くように指示します。

幸運のベスト。

+0

あなたは自分の価値観をエスケープする必要があります! –

0

DomDocumentfile_put_contentsを使用してXMLファイルを作成することをお勧めします。このような

何か:

// Create XML document 
$doc = new DomDocument('1.0', 'UTF-8'); 

// Create root node 
$root = $doc->createElement('persons'); 
$root = $doc->appendChild($root); 

while ($row = mysql_fetch_assoc($result)) { 
    // add node for each row 
    $node = $doc->createElement('person'); 
    $node = $root->appendChild($node); 

    foreach ($row as $column => $value) { 
     $columnElement = $doc->createElement($column); 
     $columnElement = $node->appendChild($columnElement); 

     $columnValue = $doc->createTextNode($value); 
     $columnValue = $columnElement->appendChild($columnValue); 
    } 
} 

// Complete XML document 
$doc->formatOutput = true; 
$xmlContent = $doc->saveXML(); 

// Save to file 
file_put_contents('persons.xml', $xmlContent); 
関連する問題