Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP &MySQL Einschließlich einer Schaltfläche "Löschen" auf derselben Seite

Ja, fügen Sie einfach die Löschlogik über Ihrer select-Anweisung ein.

<?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);

?>

Seien Sie jedoch vorsichtig mit dieser Vorgehensweise. Da es sich nur um einen Link handelt, und wenn er öffentlich ist, kann ein Bot alles crawlen und löschen.

Beachten Sie auch, dass es einige andere Änderungen gibt. Ich habe den Parameter von id geändert zu delete_id , nur um Unklarheiten zu vermeiden. Ich habe den Löschlink aktualisiert. Ich überprüfe diese $_GET['delete_id'] wird gesetzt, bevor die Löschabfrage ausgeführt wird. Und ich caste (int) auf $_GET['delete_id'] um sicherzustellen, dass es sich tatsächlich um eine Ganzzahl handelt.