【问题标题】:Use HTML Form to Update SQL Data使用 HTML 表单更新 SQL 数据
【发布时间】:2017-03-07 05:55:00
【问题描述】:

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

我的代码:

<!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 文件,就像其他一切一样。

感谢您的帮助! :)

【问题讨论】:

  • 你真的应该使用parameterized queries

标签: php html mysql forms


【解决方案1】:

如果我理解你的正确,你想从数据库中回显插入的行。换行:

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

进入:

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

试试这样的。只需将“ID_prod_column”更改为更正名称,将 $insertID 更改为更正变量即可。

【讨论】:

  • 好的,这将是第一步,但是如何在 HTML 输入表单中显示结果以编辑和保存数据?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多