Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP i MySQL z przyciskiem Usuń na tej samej stronie

Tak, po prostu dołącz logikę usuwania nad instrukcją select.

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

?>

Bądź jednak ostrożny z tym podejściem. Ponieważ jest to tylko link, a jeśli jest publiczny, bot może indeksować i usuwać wszystko.

Pamiętaj też, że jest kilka innych zmian. Zmieniłem parametr z id do delete_id , aby uniknąć niejasności. Zaktualizowałem link do usuwania. Sprawdzam, czy $_GET['delete_id'] jest ustawiana przed uruchomieniem zapytania usuwającego. I przesyłam (int) na $_GET['delete_id'] aby upewnić się, że jest to rzeczywiście liczba całkowita.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL LAST_INSERT_ID() używany z wieloma rekordami Instrukcja INSERT

  2. JDBC z MySQL jest naprawdę wolny, nie wiem dlaczego

  3. MySQL otrzymuje pozycję wiersza w ORDER BY

  4. PHP/MySQL Wstaw wartości puste

  5. Przekierowania - alternatywa dla <meta http-equiv='refresh' />?