使用HTML表单更新SQL数据

时间:2016-10-25 08:57:49

标签: php html mysql forms

我正在寻找我的产品列表的帮助。

我的代码:

<!DOCTYPE html>
<html>
<head>
<title> Produktliste </title>
</head>
<body>
<iframe name="dir" style="display:none;"></iframe>
<form action="shop.php" method="post">
<p> <h2> Produkt hinzufügen </h2> </p>
<p> Produktname: <input type="text" name="Produktname"/> </p>
<p> Produktbeschreibung: <textarea rows=2 cols=20 name="Produktbeschreibung"></textarea> </p>
<p> Preis: <input type="text" name="Preis"/> </p>
<input type="submit" name="speichern" value="Speichern"/>
</form>

<?php
$connect = new mysqli ('localhost', 'root', '');
$connect->select_db('shop');
    if (@$_REQUEST["Produktname"] && @$_REQUEST["Produktbeschreibung"] && @$_REQUEST["Preis"]) {
        $produktname = @$_REQUEST["Produktname"];
        $beschreibung = @$_REQUEST["Produktbeschreibung"];
        $preis = @$_REQUEST["Preis"];
        $result = $connect->query("INSERT INTO `shop`.`produkte` (`Produktname`, `Beschreibung`, `Preis`) VALUES ('$produktname', '$beschreibung', '$preis');");

        if(!$result) {
            echo "SQL Fehler: " . $connect->error;
            die;
        } else { echo "Letzte ID: " . $connect->insert_id;
        }
    }
?>

<table border="2" width="30%" style="border:1px solid #000000; border-spacing:inherit; text-align:left;">
<br><br>
<tr>
    <td> Produkt </td>
    <td> Beschreibung </td>
    <td> Preis </td>
    <td> Funktionen </td>
    <?php

        $result = $connect->query("SELECT * FROM produkte");    
        while($obj = $result->fetch_object()) {
            echo '<tr><td>' . $obj->Produktname . '</td><td>' . $obj->Beschreibung . '</td><td>' . $obj->Preis . ' EUR ' . '</td><td><a href="?id=' . $obj->ProduktID . '"> Bearbeiten</a>, <a href="?delete=' . $obj->ProduktID . '">Löschen </a></td></tr>';
        }
        ?>
    </tr>
</table>

<?php
    if (isset($_REQUEST["delete"])) {
            $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
            $urlpart = explode('=', $url);
            $ProduktID = end($urlpart);

            $result = $connect->query("DELETE FROM `shop`.`produkte` WHERE `ProduktID` = $ProduktID;");
            header('Location: ./shop.php');
        }

        if(isset($_REQUEST["id"])) {
            $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
            $urlpart = explode('=', $url);
            $ProduktID = end($urlpart);

            // Update SQL Data?
        }

        if (!$result) {
            echo "SQL Fehler: " . $connect->error;
            die;
        }
?>  
</body>
</html>

我现在正在寻找一种方法,将具有等效ID的MySQL数据检索到现有的HTML表单中,并将其更新回MySQL数据库...我目前正在大学学习PHP我自己无法进一步思考。

它需要完成这个PHP文件,就像其他一切一样。

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:-2)

如果我理解你是正确的,你想要从数据库中回显插入的行。改变这一行:

$result = $connect->query("SELECT * FROM produkte");

成:

$result = $connect->query("SELECT * FROM produkte WHERE ID_prod_column = '$insertID'");

尝试这样的事情。只需更改&#34; ID_prod_column&#34;更正名称和$ insertID以更正变量。