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