Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP MYSQL und HTML FORMULAR EDIT

Einklappen

Neue Werbung 2019

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

  • PHP MYSQL und HTML FORMULAR EDIT

    Hallo zusammen,

    mal eine kurze Frage zwischendurch. Ich denke Ihr könnt mir da schnell helfen.

    Ich habe eine Datenbankabfrage und lasse mir diese in einer Tabelle ausgeben.
    Jetzt möchte ich unvollständige Datensätze updaten. Ich glaube ich habe da jedoch irgendwas falsch.

    PHP-Code:

                                        
    while($erg_motor mysqli_fetch_assoc($db_erg_motor))
                                        
                                        {
                                            
    $body.='
                                            <tr>
                                                <td>'
    .$erg_motor['id'].'</td>
                                                <td><input name="motor_id" value="'
    .$erg_motor['motor_fabrikat'].'"></td>
                                                <td><input name="motor_modell" value="'
    .$erg_motor['motor_modell'].'"></td>
                                                <td><input name="motor_ez" value="'
    .$erg_motor['motor_ez'].'"></td>
                                                <td><input type="submit" name="submit" value="Abschicken!"></td></td>
                                            </tr>
                                            
                                            '
    ;
                                            
                                        } 
    Wo muss ich da ansetzen für die Form? Der submitbutton kann da bleiben oder???

    Ich möchte jetzt einfach wenn ich auf die jeweilige Zeile den Submitbutton klicke das update für diese Zeile ausführen.

    Habt Ihr Anregungen, Ideen, Lösungen???

    Gruß
    Ulle

  • #2
    So wird das nichts werden. Du kannst das form-Tag nur um die gesamte Tabelle herum legen. Dann aber musst Du den Datensatz spezifizieren. Letztlich werden aber immer alle Eingaben übertragen.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Zitat von nikosch Beitrag anzeigen
      So wird das nichts werden. Du kannst das form-Tag nur um die gesamte Tabelle herum legen. Dann aber musst Du den Datensatz spezifizieren. Letztlich werden aber immer alle Eingaben übertragen.
      mkey. und wenn keine Änderungen in den value feldern gemacht wurden wird auch nix überschrieben bei den daten. richtig?

      eine weitere idee wäre vielleicht mit die daten des datensatzes per klick in ein modalfenster oder so zu holen. ist das vielleicht sinnvoller?

      Kommentar


      • #4
        Hast du dich vertippt oder willst du bei motor_id wirklich den Wert von $erg_motor['motor_fabrikat'] haben?

        Du musst jedenfalls den Primärschlüssel (bzw. ein anderes EINDEUTIGES Feld) beim Updaten mitübergeben, damit du dann bei der Formularverarbeitung die Daten auch beim korrekten Datensatz ändern kannst. Dafür könntest du z.B. ein hidden-Feld mit der ID verwenden.

        Je nachdem ob du nur einen oder mehrere Werte (auf einmal) ändern willst, solltest du auch Arrays im Formular verwenden. Ansonsten bekommst du immer nur die Werte vom letzten Datensatz.

        Edit: Zum Modaldialog gilt das selbe. Du musst trotzdem irgendwo übertragen zu welchem Datensatz die Daten gehören.

        Kommentar


        • #5
          danke für den hinweis. da habe ich mich vertippt.

          primär habe ich in der '.$erg_motor['id'].' stehen

          Kommentar


          • #6
            und wenn keine Änderungen in den value feldern gemacht wurden wird auch nix überschrieben bei den daten. richtig?
            Nein, nicht richtig. Bzw. je nach dem, wie Du es umsetzt.
            eine weitere idee wäre vielleicht mit die daten des datensatzes per klick in ein modalfenster oder so zu holen. ist das vielleicht sinnvoller?
            So machen es die meisten.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              dann glaube ich würde ich das auch mit einem modalfenster machen wollen. das modal aufzurufen sollte kein thema sein. jedoch stellt sicht hier die frage wie ich die variablen in das modal hineinbekomme. hast du da was nachzulesen oder ein snippet, dass ich anpassen kann?

              Kommentar


              • #8
                Moinsen Leute,

                also ich komme irgendwie nicht weiter. Hat jmd. von Euch ein paar Tipps???

                PHP-Code:
                <table id="example1" class="table table-bordered table-striped">
                    <
                thead>
                        <
                tr>
                            <
                th>ID</th>
                            <
                th>Marke</th>
                            <
                th>Modell</th>
                            <
                th>Baujahr</th>
                            <
                th>Aktion</th>
                        </
                tr>
                    </
                thead>
                    <
                tbody>';
                    // Holen des Ergebis in die Variable $erg
                    while($erg_motor = mysqli_fetch_assoc($db_erg_motor))
                    #print_r($erg_motor);
                    {
                        $body.='
                        
                <tr>
                            <
                td>'.$erg_motor['id'].'</td>
                            <
                td><input name="motor_fabrikat" value="'.$erg_motor['motor_fabrikat'].'"></td>
                            <
                td><input name="motor_modell" value="'.$erg_motor['motor_modell'].'"></td>
                            <
                td><input name="motor_ez" value="'.$erg_motor['motor_ez'].'"></td>
                            <
                td><button class="btn btn-primary" data-toggle="modal" data-target="#myModal">Edit</span></button></td>
                        </
                tr>
                        
                ';
                        
                    }
                    $body.='
                    
                </tbody>
                    <
                tfoot>
                        <
                tr>
                            <
                th>ID</th>
                            <
                th>Marke</th>
                            <
                th>Modell</th>
                            <
                th>Baujahr</th>
                            <
                th>Aktion</th>
                        </
                tr>
                    </
                tfoot>
                </
                table
                und hier der Code vom Modal. Der Code steht ausserhalb der <table> eigentlich am Ende der Homepage. Da steht noch nichts drin. Ich möchte das jetzt so haben, dass wenn ich auf den Button Edit eines Datensatzes klicke soll sich das Modal aufbauen mit der $erg_motor['id'] im modal body.

                PHP-Code:
                <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                        <
                div class="modal-dialog">
                            <
                div class="modal-content">
                                <
                div class="modal-header">
                                    <
                button type="button" class="close" data-dismiss="modal">
                                        <
                span aria-hidden="true">&times;</span>
                                        <
                span class="sr-only">Close</span>
                                    </
                button>
                                    <
                h4 class="modal-title" id="myModalLabel">Interne Vorgangsnummer: </h4>
                                </
                div>
                                <
                div class="modal-body">
                                   
                                </
                div>
                                <
                div class="modal-footer">
                                    <
                button type="button" class="btn btn-primary">Speichern</button>
                                </
                div>
                            </
                div>
                        </
                div>
                    </
                div>
                </
                div
                Wie mache ich das? Hoffe Ihr könnt mir helfen. Vielen Dank.

                Kommentar

                Lädt...
                X