sql >> Database >  >> RDS >> Mysql

PHP &MySQL Inclusief een Delete-knop op dezelfde pagina

Ja, voeg gewoon de verwijderlogica toe boven uw select-statement.

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

?>

Wees echter voorzichtig met deze benadering. Omdat het slechts een link is en als deze openbaar is, kan een bot alles crawlen en verwijderen.

Houd er ook rekening mee dat er een paar andere wijzigingen zijn. Ik heb de parameter gewijzigd van id naar delete_id , gewoon om onduidelijkheid te voorkomen. Ik heb de verwijderlink bijgewerkt. Ik controleer dat $_GET['delete_id'] is ingesteld voordat de verwijderquery wordt uitgevoerd. En ik cast (int) op $_GET['delete_id'] om er zeker van te zijn dat het een geheel getal is.



  1. Een array doorgeven aan mysql

  2. Op de juiste manier omgaan met lange gegevens in Hibernate

  3. Hoe voeg ik een totaal toe als de laatste rij in mijn sql?

  4. Prestatievraag:OP DUPLICATE KEY UPDATE vs UPDATE (MySQL)