Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP и MySQL Включително бутон Изтриване на същата страница

Да, просто включете логиката за изтриване над оператора за избор.

<?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'] се задава преди стартиране на заявката за изтриване. И аз предавам (int) на $_GET['delete_id'] за да се уверите, че всъщност е цяло число.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка ETIMEDOUT при запитване на mysql база данни

  2. MySQL получава редове, но предпочита една стойност на колона пред друга

  3. Дизайн на база данни за персонализиран конструктор на формуляри (и съхранение на резултати)

  4. MySQL Trigger за вмъкване на данни в различна DB

  5. Не мога да накарам заявката за източник на MySQL да работи с помощта на Python mysqldb модул