通过表单更新MySql表中的特定数据

时间:2019-03-15 14:59:09

标签: php html mysql sql

我正在制作一个用于存储用户数据和订单信息的在线应用程序。我已经成功创建了一个系统,您可以在该系统中首先添加客户,然后向特定客户添加订单。

我现在想创建一个函数,该函数可使页面的管理员编辑表中的特定行。

我设法弄清楚如何通过MySql代码手动更改它,但无法弄清楚如何通过表单更改它?现在我有了这个,但是我不认为这是正确的方法……它可以工作,但是非常有限。例如,如果管理员选择日期,我不确定该怎么办?

PHP和HTML

<?php
$id = $_GET['id'];

?>
<form action="update.php" method="POST" >
    <input type="text" name="id" style="display:none;" value="<?php echo $id; ?> placeholder="Hidden id">
     </select>       
    <select name="change"style="width:32.9%;"  required>
      <option selected hidden value="">Select a entry you want to edit</option>
      <option value="narocnik">Customer</option>
      <option value="naslov">Adress</option>
      <option value="kraj">City</option>
      <option value="enaslov">E-mail</option>
      <option value="telefon">Number</option>
      <option value="datumzacetka">Start date</option>
      <option value="datumkonca">due date</option>
      <option value="material">Material</option>
     </select>
 <input type="text" name="new" style="width:32.5%;" placeholder="New entry">

     <input type="submit" value="Pošlji">
  </form>

和MYSQL部分

<?php
include 'baza.php';
$change   = $_POST['change'];
$new   = $_POST['new'];
$id = $_GET['id'];
$id = $_POST['id'];

$sql = "UPDATE projekti SET $change='$new' where id='$id'";

if ($conn->query($sql) === TRUE) {
 header("Location: projekti.php?id=$id");
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

正如我所说,该功能有效,但远非完美,因此任何建议都将受到欢迎:)最重要的是能够显示所有字段,但仅更新新输入的字段。< / p>

0 个答案:

没有答案