Повторення пройденого – видалення записів в PHP

327

Від автора: якщо довго не стосуватися певної теми, то вона поступово забувається. Ось я давно вже не займався видаленням записів в PHP. Сьогодні ми освіжимо ці знання, щоб бути напоготові.

Про що це я?

Звичайно, я говорю не про звичайних рядках, а тих, які записані в базу даних. Знову… Так, панове! На сцені знову його величність MySQL. З іншими СУБД наш улюблений мова програмування не співпрацює. Але ближче до реалізації!
Згадуємо, яка команда SQL відповідає за «стирання» рядків з БД:

DELETE FROM `city` WHERE `id`=2

Повторення пройденого – видалення записів в PHP

На знімку видно, як працює ця команда в phpMyAdmin. Але це не зовсім те, що нам потрібно. Звідси ми можемо тільки «навчитися» правильно складений запит.

Програмним шляхом

Спробуємо реалізувати виконання команди DELETE в програмному коді. Для цього ми спочатку коннектимся до БД. Потім виконуємо запит за допомогою функції mysqli_query(). Після чого закриваємо з’єднання. Для цього використовуємо функцію mysqli_close().

Ось так ми реалізували видалення рядків з бази. Відкриваємо таблицю, бачимо, що у нас більше немає рядка id=3.

Повторення пройденого – видалення записів в PHP

Можна додати перевірку виконання команди:

Повторення пройденого – видалення записів в PHP

Але значення вказаного після where стовпця може бути неунікальним. Тому, щоб вибрати конкретну рядок, трохи модифікуємо запит:

DELETE FROM `city` WHERE `id`=10 and `Name`=’Tilburg’

Заходимо в таблицю і бачимо, що позбулися «десятої» запису.

Повторення пройденого – видалення записів в PHP

Але точно була у таблиці рядок зі значеннями стовпців, зазначених у запиті? Будь ласка, ось доказ.

Повторення пройденого – видалення записів в PHP

Складно!

Що стосується стирання рядків при закритті сторінки, то на думку спадає тільки такий «корявий» приклад:

window.onbeforeunload = function (){window.open(“chernovik.php”)};

Код скрипта (chernovik.php) у вас є. В основі прикладу лежить обробка події onbeforeunload. Воно настає після натискання на кнопку закриття вікна в браузері або при його відновленні.

Справа в тому, що ця подія обробляється кожним браузером по-своєму. До того ж майже всі з них блокує спливаючі вікна. Так що наводжу реалізацію «як є». Якщо у вас є варіанти поліпшення, ласкаво просимо в коментарі Повторення пройденого – видалення записів в PHP .