XML ファイルを解析し、その内容をデータベースに追加しようとしています。
これがコードです..
function generateDeck($userid, $db) {
if (!$xml = simplexml_load_file('deckList.xml')) {
trigger_error('Error reading XML file', E_USER_ERROR);
}
foreach ($xml as $card) {
$id = $userid;
$card_id = $card->card_id;
$box_num = $card->box_num;
$order = $card->order_num;
$insert = "INSERT INTO decks (id, card_id, box_num, order_num) VALUES ('$id','$card_id','$box_num','$order')";
$select = "SELECT * FROM decks ORDER BY order_num";
mysqli_query($db, $insert) or die("SQL Error 1: " . mysqli_error($db));
mysqli_query($db, $select) or die("SQL Error 1: " . mysqli_error($db));
}
mysqli_close($db);
}
ここにxmlがあります
<deck>
<card>
<card_id>baby</card_id>
<box_num>1</box_num>
<order>1</order>
</card>
<card>
<card_id>selectBaby</card_id>
<box_num>1</box_num>
<order>2</order>
</card>
<card>
<card_id>bed</card_id>
<box_num>1</box_num>
<order>3</order>
</card>
<card>
<card_id>selectBed</card_id>
<box_num>1</box_num>
<order>4</order>
</card>
<card>
<card_id>book</card_id>
<box_num>1</box_num>
<order>5</order>
</card>
<card>
<card_id>selectBook</card_id>
<box_num>1</box_num>
<order>6</order>
</card>
<card>
<card_id>cup</card_id>
<box_num>1</box_num>
<order>7</order>
</card>
<card>
<card_id>selectCup</card_id>
<box_num>1</box_num>
<order>8</order>
</card>
<card>
<card_id>cupboard</card_id>
<box_num>1</box_num>
<order>9</order>
</card>
<card>
<card_id>selectCupboard</card_id>
<box_num>1</box_num>
<order>10</order>
</card>
<card>
<card_id>daddy</card_id>
<box_num>1</box_num>
<order>11</order>
</card>
<card>
<card_id>selectDaddy</card_id>
<box_num>1</box_num>
<order>12</order>
</card>
<card>
<card_id>eating</card_id>
<box_num>1</box_num>
<order>13</order>
</card>
<card>
<card_id>mummy</card_id>
<box_num>1</box_num>
<order>14</order>
</card>
<card>
<card_id>selectMummy</card_id>
<box_num>1</box_num>
<order>15</order>
</card>
<card>
<card_id>plate</card_id>
<box_num>1</box_num>
<order>16</order>
</card>
<card>
<card_id>selectPlate</card_id>
<box_num>1</box_num>
<order>17</order>
</card>
.....
</deck>
ただし、XML のすべての行が画面に出力されます。:-/ 2 行を使用して、別の php ファイルからこの関数を呼び出しています。
//Generate new deck for new user
include('generateDeck.php');
generateDeck($user, $db);
xml コンテンツが画面に出力される理由を知っている人はいますか? 私の出力は..
赤ちゃん 1 1 選択赤ちゃん 1 2 ベッド 1 3 選択ベッド 1 4 本 1 5 選択本 1 6 カップ 1 7 選択カップ 1 8 食器棚 1 9 選択食器棚 1 10 パパ 1 11 選択パパ 1 12 食事 1 13 ママ 1 14 選択ママ 1 15 プレート 1 16 選択プレート 1 17 靴 1 18 selectShoe 1 19 テーブル 1 20 selectTable 1 21 ウォーキング 1 22 selectWalking 1 23 dogNose 1 24 selectDogNose 1 25 teddyEars 1 26 selectTeddyEars 1
ブラウザはレンダリング中です
<deck>
<card>
</card>
<card>
</card>
<card>
</card>
.....
</deck>
Firebugで確認済み
ありがとう。
(予約語の使用方法の変更を反映するように編集 (orderはorder_num になりました)