Schleifenausgabe Speichern

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by Every_b; 28-08-2007, 12: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.

    Comment


    • #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)

      Comment


      • #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.
        Last edited by Every_b; 28-08-2007, 12:55.

        Comment


        • #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
          Last edited by Every_b; 28-08-2007, 12:55.

          Comment


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

            Comment


            • #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
              Last edited by Every_b; 28-08-2007, 13:00.

              Comment


              • #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

                Comment


                • #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

                  Comment

                  Working...