以下のコードでは、私のXMLの要素がDB内のフィールドと同じ名前と順序でなければならないという制限を加えて、XMLファイルをmySQLにインポートします。 [OK]を同じ名前が、私は異なる順序で多くのXMLを処理するため、それらの順序に問題があります。simpleXMLを使用して要素の値をこの配列に割り当てる方法を教えてください。
私の質問は、$ product-> name、$ product-> idなどのフィールドに値を割り当てることができるように、既存のコードを編集するにはどうすればいいですか?私の難しさは配列を使っているからです。
これは私のDB構造id, name, description, price, image, url, category, category_id, shopid
ですが、私のXMLのいくつかはこの順序ではありません。
ありがとうございます。あなたが何をしたいか
$xml = simplexml_load_file('test.xml');
foreach($xml->product as $product)
{
$columns = array();
$data = array();
foreach($product->children() as $child)
{
$columns[] = $child->getName();
$data[] = mysql_real_escape_string((string)$child);
}
$col = '`'. implode('`,`',$columns) .'`';
$val = '"'. implode('","',$data).'"';
$query = "INSERT INTO products ($col) VALUES ($val)";
mysql_query($query);
}