Schleifenausgabe Speichern

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

  • Schleifenausgabe Speichern

    Hallo Leute!

    Ich verzweifle gerade an einem Problem und hoffe ihr könnt mir dabei helfen..
    Foolgendes:

    Ich habe ein Kinoprogramm in einer Datenbank gespeichert (vorerst nur 2 Einträge) mit Filmname, Spieldauer, Altersfreigabe etc.
    Per while-Schleife schreibe ich alles in ein Formular, ich möchte nun, dass wenn ich die Eingaben in diesem Formular ändere, diese auch in der Datenbank so gespeichert werden.

    Ich bin mitlerweile soweit, dass NUR der letzte Eintrag wirkungsvoll gespeichert wird
    Zum besseren Verständnis, schaut es euch am Besten selbst an:

    http://www.cine-royal.de/login/index2.php
    Nick: test Pass: test


    Hier der relevante:
    PHP-Code:
    if ($speichern == "Speichern") {
    MYSQL_QUERY( "UPDATE `programm` SET `titel` = '$filmname', `genre` = '$genre' , 
    `age` = '$alter' , `zeit` = '$zeiten' , `release` = '$release' , `dauer` = '$dauer' ,
     `webseite` = '$webseite' WHERE `ID` =$_POST[id]") OR die("<hr>Fehler bei Update : 
    ".mysql_errno()."->".mysql_error()."<hr>");
    }  


    ...


    $inhalt = "select * from programm";
    $result = mysql_query($inhalt);


    <?
    while ($programm = mysql_fetch_array($result))
    {

    ?>

    <form method="post" name="aktualisieren" action="<? $PHP_SELF; ?>">
    <input type="hidden" name="id" value="<? echo $programm['ID']; ?>">

    Filmtitel: <input type="text" name="filmname" value="<? echo $programm[1]; ?>"><p>
    Genre: <input type="text" name="genre" value="<? echo $programm[2]; ?>"><p>
    Altersfreigabe: <input type="text" name="alter" value="<? echo $programm[3]; ?>"><p>
    Sendezeiten: <input type="text" name="zeiten" value="<? echo $programm[4]; ?>"><p>
    Release: <input type="text" name="release" value="<? echo $programm[5]; ?>"><p>
    Spieldauer: <input type="text" name="dauer" value="<? echo $programm[6]; ?>"><p>
    Webseite: <input type="text" name="webseite" value="<? echo $programm[7]; ?>"><p>
    <p>
    <input type="submit" name="speichern" value="Speichern">
    <p>&nbsp;</p>
    <?
    }

    ?>
    Die ID wird im Formular gespeichert und oben abgerufen, ich vermute es wird nur der 2. Eintrag verändert, weil die ID nach Schleifendurchlauf IMMER 2 ist.
    Die ID hat auto_increment.

    Hat jemand eine Idee, wie ich das regele? (Auch wenn es später mehr als 2 Einträge sind)

    Vielen Dank schonmal
    Dariy
    Zuletzt geändert von Every_b; 28.08.2007, 13:59.

  • #2
    brich deinen code um.

    dein problem ist, dass die felder alle gleich heißen und nur der letzte name als der einzig gültige übernommen wird.

    schaue dir unter peterkropff.de und tut.php-q.net an, wie man formulare aufbaut und vor allem, was es mit der schreibweise
    Code:
    ... name="feld[]" ...
    auf sich hat.

    Kommentar


    • #3
      @topicstarter
      Bist du dir bewusst, dass du für JEDE Zeile des Resultats der MySql Abfrage ein eigenes Form machst ? Ausserdem schliesst du das Form nicht nach jedem Schleifendurchlauf. Und nebenbei sollte es <p></p> heissen, ich denke aber du suchst <br />...

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        penizillin: Danke für die Links! Ich lese mich sofort durch

        jahlives: Ja, dessen bin ich mir bewusst - ist das "schlimm"? Danke Hab auch gerade entdeckt dass ich die forms nicht schließe, habe es geändert, geändert hat sich daran, dass nun das erste Form bearbeitet wird.
        Danke auch wegen dem
        Code:
        <br />
        -Hinweis!

        ..ich reposte wenn die nächsten Probleme auftreten^^- Falls in der Zeit noch jemand Vorschläge hat nehm ich sie liebend gerne entgegen!

        Danke nochmals, Dariy.
        Zuletzt geändert von Every_b; 28.08.2007, 13:55.

        Kommentar


        • #5
          Hiho, ich wieder.

          Zur Schreibweise
          Code:
          name="feld[]"
          habe ich leider nichts gefunden, um einen directlink wäre ich sehr dankbar

          Ist denn die Art, wie ich es zur Zeit probiere so schlecht?
          Ich hab gehofft es sind nur Kleinigkeiten die ich verändern muss..

          ..ich brauch nen Gedankenantrieb
          Zuletzt geändert von Every_b; 28.08.2007, 13:55.

          Kommentar


          • #6
            http://www.php-resource.de/forum/sho...threadid=50454

            Kommentar


            • #7
              Habe alles was Code ist nun auch Codeig markiert, und Scollproblem behoben, hoffe nun ist alles zur Zufriedenheit (..wenn du dies überhaupt meintest, wenn nicht, kann ich dir nicht folgen, ich erkenne sonst keinen Regelverstoß)

              wenn alles okay ist, wäre es cool wenn wir uns wieder dem Problem widmen könnten.

              Gruß,
              Dariy
              Zuletzt geändert von Every_b; 28.08.2007, 14:00.

              Kommentar


              • #8
                PHP-Code:
                name="feld[]" 
                und nach dem abschicken mal ein
                PHP-Code:
                print_r($_POST['feld']); 
                absetzen und ergebnis ansehen.

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Vielen Dank Kropff penizillin und jahlives!
                  Das Problem war wirklich nur der nicht geschlossene Form-Tag, habe nur immer aus "urinstinkt" auf den falschen Button geklickt Wenn man den zugehörigen Button klickt, funktioniert alles einwandfrei.

                  Nochmals Danke für eure Unterstützung!
                  Gruß, Dariy

                  Kommentar

                  Lädt...
                  X