[Problem] Auslesen einer xml-Datei mit Speicherung in Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [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.

  • #2
    Es macht keinen Sinn jedes mal eine neue Verbindung zur Datenbank aufzubauen - entfern das mal und häng das in eine Klassenvariable oder arbeite mit dem Singelton Pattern. Ansonsten - Testausgaben? Wie oft wird die Funktion ausgerufen? Treten irgendwelche Fehler auf?
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Re: [Problem] Auslesen einer xml-Datei mit Speicherung in Datenbank

      PHP-Code:
      foreach ($xml->images as $image
      Ich kenne die Klasse jetzt nicht, aber sollte der Schleifenkopf nicht so aussehen??

      Kommentar

      Lädt...
      X