• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Update Button funktioniert nicht

amê

Neues Mitglied
Hallo Leute,

ich muss eine Tabelle aus einer Datenbank erstellen und darunter ein Formular. Neben jeden Datensatz der Tabelle gibt es ein Lösch- und ein Bearbeitungs-Button.
Unter der Tabelle gibt es ein Formular, der beim absenden ein neuen Datensatz hinzufügt. Der Lösch Button funktioniert soweit, aber der Bearbeitungsbutton will nicht so, wie ich es mir vorstelle und bin da leider mit meinem Latein am Ende, könnt ihr mir weiterhelfen?
Bei der Tätigung des Bearbeitens-Buttons sollen die Daten von der jeweiligen ID in das Formular-Feld hinzugefügt werden und im Formular-Feld kann man die Daten bearbeiten und diese werden dann dementsprechend der ID überarbeitet/geupdatet.

Hier der Quellcode:
PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>new</title>
    
    </head>

    <body>
 
 


        <?php

            $connect = new mysqli ("localhost","root","root");
            $connect->select_db("shop");


            //Datensatz hinzufügen
            if (isset($_POST["speichern"]) == true)
            { 
                if($_POST["bearbeiten"] =="new")
            $connect->query('insert into produkte (name,beschreibung,preis) values("' . $_POST["name"] . '","' . $_POST["beschreibung"] . '","'. $_POST["preis"] . '")');
            else
            {
                'update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"];
                $connect->query('update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"]);
            }
            }
            //Datensatz löschen
            if (isset($_GET["del"])== true)
            {
            $connect->query('delete from produkte where id=' . $_GET["del"]);
            } 

            //Datensatz bearbeiten
        
            if (isset($_POST["speichern"]) == true)
            { 
                if($_POST["bearb"] == "new")
            $connect->query('insert into produkte (name,beschreibung,preis) values("' . $_POST["name"] . '","' . $_POST["beschreibung"] . '","'. $_POST["preis"] . '")');
            else
            {
                'update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"];
                $connect->query('update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"]);
            }
            }
    
            if (isset($_GET["bearb"]) == true)
            {
            $result = $connect->query("select id,name,beschreibung,preis from produkte where id=" . $_GET["bearb"]);
                        $obj = $result->fetch_object();
                        $id = $obj->id;
                        $name = $obj->name;
                        $beschreibung = $obj->beschreibung;
                        $preis = $obj->preis;
                        $bearbeiten="update";
            }
            else
            {
                        $id = '';
                        $name = '';
                        $beschreibung = '';
                        $preis = '';
                        $bearbeiten="new";
            }
        
        
        
        
            //Tabelle ausgeben             
            $result = $connect->query("SELECT * FROM produkte");
            echo "<table border=solid>";
            echo "<tr><td>Name</td><td>Preis</td><td>Beschreibung</td><td>Funktion</td></tr>";
            while ($obj = $result->fetch_object())
            {
            echo '<tr><td>' . $obj->id . '</td><td>' . $obj->name . '</td><td>' . $obj->beschreibung . '</td><td>' . $obj->preis . '</td>
            <td><a href="?del=' . $obj->id . '">Löschen</a></td><td><a href="?work=' . $obj->id . '">Bearbeiten</a> </td></tr>';
                    
                    
                    
                                    
            }
            echo "</table>";
        
 
        
        
        
        ?>


    

        <form action="abgabe.php" method="POST">
            <p>Neuen Datensatz erstellen</p>
            <p>Name: <input type="text" name="name" value="<?php echo $name ?>"</p> 
            <p>Beschreibung: <input type="text" name="beschreibung" value="<?php echo $beschreibung?>"/> </p>                                                     
            <p>Preis: <input type="text" name="preis" value="<?php echo $preis ?>" /></p>

            <input type="submit" name="speichern" value="Speichern"/>
            <input type="hidden" name="bearbeiten" value="<?php echo $bearbeiten ?>"/>
            <input type="hidden" name="id" value="<?php echo $id ?>"/>
        
        </form>
    
    </body>
</html>
 
Zuletzt bearbeitet:
Werbung:
Hallo Leute,

ich muss eine Tabelle aus einer Datenbank erstellen und darunter ein Formular. Neben jeden Datensatz der Tabelle gibt es ein Lösch- und ein Bearbeitungs-Button.
Unter der Tabelle gibt es ein Formular, der beim absenden ein neuen Datensatz hinzufügt. Der Lösch Button funktioniert soweit, aber der Bearbeitungsbutton will nicht so, wie ich es mir vorstelle und bin da leider mit meinem Latein am Ende, könnt ihr mir weiterhelfen?
Bei der Tätigung des Bearbeitens-Buttons sollen die Daten von der jeweiligen ID in das Formular-Feld hinzugefügt werden und im Formular-Feld kann man die Daten bearbeiten und diese werden dann dementsprechend der ID überarbeitet/geupdatet.

Hier der Quellcode:
PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>new</title>
     
    </head>

    <body>
 
 


        <?php

            $connect = new mysqli ("localhost","root","root");
            $connect->select_db("shop");


            //Datensatz hinzufügen
            if (isset($_POST["speichern"]) == true)
            {  
                if($_POST["bearbeiten"] =="new")
            $connect->query('insert into produkte (name,beschreibung,preis) values("' . $_POST["name"] . '","' . $_POST["beschreibung"] . '","'. $_POST["preis"] . '")');
            else
            {
                'update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"];
                $connect->query('update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"]);
            }
            }
            //Datensatz löschen
            if (isset($_GET["del"])== true)
            {
            $connect->query('delete from produkte where id=' . $_GET["del"]);
            }  

            //Datensatz bearbeiten
         
            if (isset($_POST["speichern"]) == true)
            {  
                if($_POST["bearb"] == "new")
            $connect->query('insert into produkte (name,beschreibung,preis) values("' . $_POST["name"] . '","' . $_POST["beschreibung"] . '","'. $_POST["preis"] . '")');
            else
            {
                'update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"];
                $connect->query('update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"]);
            }
            }
     
            if (isset($_GET["bearb"]) == true)
            {
            $result = $connect->query("select id,name,beschreibung,preis from produkte where id=" . $_GET["bearb"]);
                        $obj = $result->fetch_object();
                        $id = $obj->id;
                        $name = $obj->name;
                        $beschreibung = $obj->beschreibung;
                        $preis = $obj->preis;
                        $bearbeiten="update";
            }
            else
            {
                        $id = '';
                        $name = '';
                        $beschreibung = '';
                        $preis = '';
                        $bearbeiten="new";
            }
         
         
         
         
            //Tabelle ausgeben              
            $result = $connect->query("SELECT * FROM produkte");
            echo "<table border=solid>";
            echo "<tr><td>Name</td><td>Preis</td><td>Beschreibung</td><td>Funktion</td></tr>";
            while ($obj = $result->fetch_object())
            {
            echo '<tr><td>' . $obj->id . '</td><td>' . $obj->name . '</td><td>' . $obj->beschreibung . '</td><td>' . $obj->preis . '</td>
            <td><a href="?del=' . $obj->id . '">Löschen</a></td><td><a href="?work=' . $obj->id . '">Bearbeiten</a> </td></tr>';
                     
                     
                     
                                     
            }
            echo "</table>";
         
 
         
         
         
        ?>


     

        <form action="abgabe.php" method="POST">
            <p>Neuen Datensatz erstellen</p>
            <p>Name: <input type="text" name="name" value="<?php echo $name ?>"</p>  
            <p>Beschreibung: <input type="text" name="beschreibung" value="<?php echo $beschreibung?>"/> </p>                                                      
            <p>Preis: <input type="text" name="preis" value="<?php echo $preis ?>" /></p>

            <input type="submit" name="speichern" value="Speichern"/>
            <input type="hidden" name="bearbeiten" value="<?php echo $bearbeiten ?>"/>
            <input type="hidden" name="id" value="<?php echo $id ?>"/>
         
        </form>
     
    </body>
</html>

Dein Bearbeiten Link lautet "?work=<ID>", in PHP verwendest du jedoch $_GET['bearb'].

BTW: SQL Injection lässt grüßen :)
 
Hey, das hat mir sehr weitergeholfen. Es funktioniert, aber ist der Code richtig?
PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>new</title>
        
    </head>

    <body>
    
    


        <?php

            $connect = new mysqli ("localhost","root","root");
            $connect->select_db("shop");


            //Datensatz hinzufügen
            if (isset($_POST["speichern"]) == true)
            {   
                if($_POST["bearbeiten"] =="new")
            $connect->query('insert into produkte (name,beschreibung,preis) values("' . $_POST["name"] . '","' . $_POST["beschreibung"] . '","'. $_POST["preis"] . '")');
            else
            {
                'update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"];
                $connect->query('update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"]);
            }
            }
            //Datensatz löschen
            if (isset($_GET["del"])== true)
            {
            $connect->query('delete from produkte where id=' . $_GET["del"]);
            }   

            //Datensatz bearbeiten
            
            if (isset($_POST["speichern"]) == true)
            {   
                if($_POST["bearb"] == "new")
            $connect->query('insert into produkte (name,beschreibung,preis) values("' . $_POST["name"] . '","' . $_POST["beschreibung"] . '","'. $_POST["preis"] . '")');
            else
            {
                'update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"];
                $connect->query('update produkte set name="' . $_POST["name"] . '", beschreibung="' . $_POST["beschreibung"] . '", preis='. $_POST["preis"] . ' where id =' . $_POST["id"]);
            }
            }
        
            if (isset($_GET["bearb"]) == true)
            {
            $result = $connect->query("select id,name,beschreibung,preis from produkte where id=" . $_GET["bearb"]);
                        $obj = $result->fetch_object();
                        $id = $obj->id;
                        $name = $obj->name;
                        $beschreibung = $obj->beschreibung;
                        $preis = $obj->preis;
                        $bearbeiten="update";
            }
            else
            {
                        $id = '';
                        $name = '';
                        $beschreibung = '';
                        $preis = '';
                        $bearbeiten="new";
            }
            
            
            
            
            //Tabelle ausgeben               
            $result = $connect->query("SELECT * FROM produkte");
            echo "<table border=solid>";
            echo "<tr><td>Name</td><td>Preis</td><td>Beschreibung</td><td>Funktion</td></tr>";
            while ($obj = $result->fetch_object())
            {
            echo '<tr><td>' . $obj->id . '</td><td>' . $obj->name . '</td><td>' . $obj->beschreibung . '</td><td>' . $obj->preis . '</td>
            <td><a href="?del=' . $obj->id . '">Löschen</a></td><td><a href="?bearb=' . $obj->id . '">Bearbeiten</a> </td></tr>';
                        
                        
                        
                                        
            }
            echo "</table>";
            
    
            
            
            
        ?>


        

        <form action="abgabe.php" method="POST">
            <p>Neuen Datensatz erstellen</p>
            <p>Name: <input type="text" name="name" value="<?php echo $name ?>"</p>     
            <p>Beschreibung: <input type="text" name="beschreibung" value="<?php echo $beschreibung?>"/> </p>                                                       
            <p>Preis: <input type="text" name="preis" value="<?php echo $preis ?>" /></p>

            <input type="submit" name="speichern" value="Speichern"/>
            <input type="hidden" name="bearbeiten" value="<?php echo $bearbeiten ?>"/>
            <input type="hidden" name="id" value="<?php echo $id ?>"/>
            
        </form>
        
    </body>
</html>
 
Werbung:
Zurück
Oben