簡體   English   中英

PHP:數據庫中的更新和替換行

[英]PHP: Update and REPLACE row in database

我有一個將記錄添加到數據庫的表單。 每行都有一個“編輯”按鈕。 當用戶單擊“編輯”按鈕時,它將帶用戶到另一個頁面,該頁面具有專門用於該ID的表單,該ID已被選擇為Edit,其中的原始信息為Update。 問題:單擊“更新”按鈕時,頁面將新記錄添加到第一頁,而不是更新和替換相同ID的信息。 謝謝您的幫助! :D

第一頁的代碼段,其中每個記錄旁邊都有“編輯”選項的記錄列表:

<?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'] . "'>
                        &nbsp;<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();
?>

edit.php ,表單操作鏈接到index.php而不是edit.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM