データベースからのクエリーからデータを追加/表示し、それをXMLファイルに追加したいとします。 例として、名前と年齢を持つtable_personsがあります。私はその名前と年齢を取得するmysqlクエリを作成します。次に、データ(人名と年齢)をXMLファイルに格納します。php/mysqlクエリーからXMLファイルにデータを追加する
どうすればよいですか?それとも可能ですか?
データベースからのクエリーからデータを追加/表示し、それをXMLファイルに追加したいとします。 例として、名前と年齢を持つtable_personsがあります。私はその名前と年齢を取得するmysqlクエリを作成します。次に、データ(人名と年齢)をXMLファイルに格納します。php/mysqlクエリーからXMLファイルにデータを追加する
どうすればよいですか?それとも可能ですか?
<?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+
は、ファイルの最後にポインタを置いて、書き込み時に読み込み用に開くように指示します。
幸運のベスト。
あなたは自分の価値観をエスケープする必要があります! –
DomDocumentとfile_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);
http://php.net/fopen http://php.net/fwrite http://php.net/file_put_contents –