Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 11-09-2007, 11:05
Tarquinio
 Newbie
Links : Onlinestatus : Tarquinio ist offline
Registriert seit: Apr 2004
Beiträge: 40
Tarquinio ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Problem] Auslesen einer xml-Datei mit Speicherung in Datenbank

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 :

PHP-Code:
<?xml version="1.0"?>
<category>
  <name>Serien</name>
  <description>Testen Sie Ihr Wissen &#xFC;ber diverse TV-Serien.&#xD;
</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&#xFC;cksb&#xE4;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&#xE4;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>
hier mein Auslesen der xml-Datei:
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++;

und zum Schluss noch die Methote create aus der Klasse image:
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.
Mit Zitat antworten