php - 尝试使用 PHP 和 mySQL 创建可编辑的 HTML 表,但该表不会更新

标签 php html mysql

我正在尝试制作一个 HTML 表作为 mySQL 数据库的前端。该表显示良好,我可以输入我想要对表的每一行进行的编辑,但当我按下提交按钮时,实际上并没有进行更改。谁能看出我哪里出错了?

<?php 

include("db.php");

$sql = "SELECT * FROM `artist`";
$result = mysqli_query($conn, $sql);

if (isset($_POST['update'])){

    $artID = $_POST['artID'];
    $artName = $_POST['artName'];
    $key = $_POST['hidden'];

    $UpdateQuery = "UPDATE `artist` SET `artID` = '$artID', `artName` = '$artName' WHERE `artist`.`artID` = '$key'"; 

    mysqli_query($conn,$UpdateQuery);
    header("Location: {$_SERVER['HTTP_REFERER']}");
    exit;

};
echo "<table border='1'>";
echo "<tr>";
echo "<th>ID</th>";
echo "<th>Name</th>";
echo "</tr>";

if ($result->num_rows > 0) {
    echo "<form id ='artisttable' action ='getartiststable.php' method ='post'>";
    // output data of each row
    while($row = mysqli_fetch_array($result)) {
        echo "<tr>";
        echo "<td>" ."<input type='text' name ='artID' value ='" . $row['artID'] . "' </td>";
        echo "<td>" . "<input type='text' name ='artName' value ='" . $row["artName"] . "' </td>";
        echo "<td>" . "<input type = 'hidden' name ='hidden' value='" . $row['artID'] . "' </td>";
        echo "<td>" . "<input type='submit' name ='update'" . " </td>";
        echo "</tr>";
    }
    echo "</form>";
    echo "</table>";
} else {
    echo "0 results";
}
$conn->close(); 

?> 

db.php 文件仅包含 mySQL 数据库的连接信息,我 100% 确定它没有任何问题,因为它正确检索表,只是不更新​​。

最佳答案

您将表单标签放入 tr 中,这是不允许的,仅允许 td 所以你必须从那里删除该 tr。

您必须使用jquery,或者您可以用其他网格结构替换表格,以便它看起来相同并且表单也可以放置在那里

还有一个建议,不要将 php 和 html 混合在一起,为了干净的代码而将它们分开

如果你做了所有这些,你的代码将是这样的

关于php - 尝试使用 PHP 和 mySQL 创建可编辑的 HTML 表,但该表不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36898232/

相关文章:

php - 通过php的Mysql CREATEUSER命令

javascript - XMLHttpRequest 不发送 POST 数据

javascript - 从本地存储检索数据对象并将其重新加载到数组中

mysql - 从表中删除冗余记录(MySQL)

Javascript (jQuery) 加载模式直到数据库查询在 php 页面上结束

javascript - 将 AJAX 与 PHP 循环创建的表单结合使用

php - 如何查找同一天同一列的两个日期之间的差异?

html - 如何使用导航订购列表?

html - 如何设置背景?

php - Flexslider 与 php 多个视频