0
我有一个向数据库添加记录的表单。每一行都有一个“编辑”按钮。当用户点击“编辑”按钮时,用户会将该用户转到另一个具有特定于该编号的表单的页面,该页面被选为编辑,其中的原始信息为更新。问题:单击更新按钮时,页面会向第一个页面添加一条新记录,而不是更新并替换相同标识的信息。 感谢您的帮助! :dPHP:数据库中的更新和替换行
具有与 '编辑' 选项记录列表第一页的代码段相邻的:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM users ORDER BY lastname ASC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<div class='container'>";
echo "<table class='table'>";
echo "<tr id='hover'>";
echo "<td id='lastname'>".$row["lastname"]."</td>";
echo "<td id='firstname'>".$row["firstname"]."</td>";
echo "<td id='username'>".$row["username"]."</td>";
echo "<td id='email'>".$row["email"]."</td>";
echo "<td id='editdelete'>
<form action='Edit.php?id=" . $row['id'] . "' method='post'>
<input type='submit' name='edit' value='Edit' id='Edit'><input type='hidden' name='id' value='" . $row['id'] . "'>
<input type='submit' name='delete' value='Delete' id='delete'><input type='hidden' name='id' value='" . $row['id'] . "'>
</form></td>";
echo "</tr>";
echo "</table>";
echo "</div>";
echo '<br>';
}
}
else {
echo "0 results";
}
$conn->close();
?>
代码的 '编辑' 页(第二页):
<?php
// DB Connection Info
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Code for EDIT button
if (isset($_POST['edit'])) {
$userid = $_POST['id'];
}
// Code for UPDATE button
if (isset($_POST['update'])) {
$userid = $_POST['id'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$sql = "UPDATE users SET firstname = '$firstname', lastname = '$lastname', username = '$username', password = '$password', email = '$email' WHERE id = '$userid';";
$conn->query($sql);
}
// SQL Query
$sql = "SELECT * FROM users WHERE id = '$userid';";
$result = $conn->query($sql);
//Loop through and echo all the records
while ($row = $result->fetch_assoc()){
echo "<form method='post' action='Index.php'>";
echo "<input type='hidden' name='id' value='" . $row['id'] . "'>";
echo "First Name: <input type='text' name='firstname' value='" . $row['firstname'] . "'> <br>";
echo "Last Name: <input type='text' name='lastname' value='" . $row['lastname'] . "'> <br>";
echo "Username: <input type='text' name='username' value='" . $row['username'] . "'> <br>";
echo "Password: <input type='password' name='password' value='" . $row['password'] . "'> <br>";
echo "Email: <input type='text' name='email' value='" . $row['email'] . "'> <br> ";
echo "<input type='submit' name='update' value='Update'>";
echo "</form>";
}
$conn->close();
?>
它工作。谢谢。我不得不把链接放回第一页上的记录列表,但它完美地工作。谢谢。 – DDG