Hallo ihrs.
Ich hab ein Problem in einem Script welches eine xml-Datei auslesen soll und die Daten in eine Datenbank schreiben soll. Dabei übergibt das Script die Daten als Parameter an eine create-Methode im Objekt, welche die Daten in die Datenbank schreibt.
Mein Problem: In der xml-Datei stehen quasi 5 Objekte des Types "image" aber es wird nur das erste in die Datenbank gespeichert.
Hier meine data.xml :
hier mein Auslesen der xml-Datei:
und zum Schluss noch die Methote create aus der Klasse image:
Habt ihr eine Ahnung woran das liegt? Würde mich über eine Atnwort freuen.
Ich hab ein Problem in einem Script welches eine xml-Datei auslesen soll und die Daten in eine Datenbank schreiben soll. Dabei übergibt das Script die Daten als Parameter an eine create-Methode im Objekt, welche die Daten in die Datenbank schreibt.
Mein Problem: In der xml-Datei stehen quasi 5 Objekte des Types "image" aber es wird nur das erste in die Datenbank gespeichert.
Hier meine data.xml :
PHP-Code:
<?xml version="1.0"?>
<category>
<name>Serien</name>
<description>Testen Sie Ihr Wissen über diverse TV-Serien.
</description>
<images>
<image>
<path>img_4.jpeg</path>
<question>Zu welcher Serie passt diese Crew?</question>
<answers>
<answer>Stargate SG1</answer>
<answer>Stargate Atlantis</answer>
<answer>Spiderman</answer>
</answers>
<correct>2</correct>
</image>
<image>
<path>img_1.jpeg</path>
<question>Zu welcher Serie passt diese Crew?</question>
<answers>
<answer>A-Team</answer>
<answer>B-Team</answer>
<answer>Glücksbärchies</answer>
</answers>
<correct>1</correct>
</image>
<image>
<path>img_2.jpeg</path>
<question>Zu welcher Serie passt diese Crew?</question>
<answers>
<answer>Andromeda</answer>
<answer>X-Men</answer>
<answer>Stargate SG1</answer>
</answers>
<correct>3</correct>
</image>
<image>
<path>img_3.jpeg</path>
<question>Zu welcher Serie passt diese Crew?</question>
<answers>
<answer>Jericho</answer>
<answer>18 - Allein unter Mädchen</answer>
<answer>Prison Break</answer>
</answers>
<correct>3</correct>
</image>
<image>
<path>img_5.jpeg</path>
<question>Zu welcher Serie passt diese Crew?</question>
<answers>
<answer>Takeshis Castle</answer>
<answer>Jericho</answer>
<answer>Planet der Affen</answer>
</answers>
<correct>2</correct>
</image>
</images>
</category>
PHP-Code:
//Einlesen der data.xml per simplexml
$newCatObject=new Category();
$newCatObject->create($xml->name, $xml->description);
$i=0;
$answers=array();
foreach ($xml->images->image as $image) {
foreach($image->answers->answer as $answer){
array_push($answers,$answer);
}
$newImgObject[$i]=new Image();
$newImgObject[$i]->create($image->question,array_shift($answers),array_shift($answers),array_shift($answers),$image->correct,$image->path,$newCatObject->getID());
$i++;
}
PHP-Code:
public function create($quest,$ans1,$ans2,$ans3,$correct,$path,$catID){
include $_SERVER['DOCUMENT_ROOT'] . '/enigma/configuration.php';
$connect = new MySQLi($host, $dbUser, $dbPass, $db);
$sql = 'INSERT INTO picture (quest,ans1,ans2,ans3,correct,path,cat) VALUES (?,?,?,?,?,?,?)';
$command = $connect->prepare($sql);
$command->bind_param('ssssisi',$quest,$ans1,$ans2,$ans3,$correct,$path,$catID);
$command->execute();
$connect->close();
}
Habt ihr eine Ahnung woran das liegt? Würde mich über eine Atnwort freuen.
Kommentar