Có, chỉ cần bao gồm logic xóa phía trên câu lệnh đã chọn của bạn.
<?php
// Connect to server and select database.
$link = mysqli_connect("localhost", "root", "password", "testdelete"); //for local machine testing
// Check connection
if ($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Handle delete
if (isset($_GET['delete_id'])) {
// get value of id that sent from address bar
$delete_id = (int) $_GET['delete_id'];
// Delete data in mysql from row that has this id
$sql="DELETE FROM testdelete.test_mysql WHERE id='$delete_id'";
$result=$link->query($sql);
// if successfully deleted
if ($result){
echo "Deleted Successfully";
echo "<BR>";
} else {
echo "Delete ERROR";
}
}
// select record from mysql
$sql = "SELECT id, name, lastname, email FROM testdelete.test_mysql";
$result = $link->query($sql);
if ($result->num_rows > 0) {
include 'table_header.html';
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td bgcolor=\"#FFFFFF\">".$row["id"]."</td>";
echo "<td bgcolor=\"#FFFFFF\">". $row["name"]."</td>";
echo "<td bgcolor=\"#FFFFFF\">" . $row["lastname"]."</td>";
echo "<td bgcolor=\"#FFFFFF\">". $row["email"] . "</td>";
echo "<td bgcolor=\"#FFFFFF\"><a href=\"?delete_id={$row['id']}\">Delete row</a></td>";
echo "</tr>";
}
include 'table_footer.html';
} else {
echo "0 results";
}
// close connection
mysqli_close($link);
?>
Tuy nhiên, hãy cẩn thận với cách tiếp cận này. Vì nó chỉ là một liên kết và nếu nó công khai, bot có thể thu thập thông tin và xóa mọi thứ.
Ngoài ra, hãy lưu ý rằng có một vài thay đổi khác. Tôi đã thay đổi thông số từ id
thành delete_id
, chỉ để tránh sự mơ hồ. Tôi đã cập nhật liên kết xóa. Tôi đang kiểm tra $_GET['delete_id']
được đặt trước khi chạy truy vấn xóa. Và, tôi đang truyền (int) trên $_GET['delete_id']
để đảm bảo rằng đó thực sự là một số nguyên.