हाँ, बस अपने चयन कथन के ऊपर डिलीट लॉजिक शामिल करें।
<?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);
?>
हालाँकि, इस दृष्टिकोण से सावधान रहें। चूंकि यह सिर्फ एक लिंक है, और अगर यह सार्वजनिक है, तो बॉट क्रॉल कर सकता है और सब कुछ हटा सकता है।
साथ ही, ध्यान दें कि कुछ अन्य बदलाव भी हैं। मैंने पैरामीटर को id
. से बदल दिया है करने के लिए delete_id
, बस अस्पष्टता से बचने के लिए। मैंने डिलीट लिंक अपडेट किया। मैं जाँच कर रहा हूँ कि $_GET['delete_id']
हटाएं क्वेरी चलाने से पहले सेट किया गया है। और, मैं $_GET['delete_id']
पर (int) कास्ट कर रहा हूं यह सुनिश्चित करने के लिए कि यह वास्तव में एक पूर्णांक है।