Удаление записей из базы данных MySql через веб страницу

В этом уроке я покажу Вам как удалять записи из базы данных MySql прямо из веб страницы. А в конце урока Вы сможете скачать шпаргалку по MySql запросам.
дополнительные материалы к урокам
Итак, этим уроком я буду заканчивать небольшую серию уроков о том, как взаимодействовать с базой данных MySql из веб страниц. Этот урок будет меньше и легче предыдущих, особенно если Вы их прошли до этого.

Также помните, что все исходные материалы Вы можете найти в исходниках к каждому уроку.

В этом уроке я продолжу работать со структурой файлов из прошлых уроков.

На данном этапе: мы создали базу данных MySql, научились заносить в нее информацию из веб страницы, научились выводить нужные нам записи и все записи в виде списка, а также научились изменять любые поля базы данных MySql также из веб страницы.

Осталось только научиться удалять необходимые записи не заходя в саму базу данных. Это может Вам понадобиться, если Вы пишите админку для сайта или блога и в ней предусмотрено удаление записей. Или Вы позволяете Вашему пользователю загружать в базу данных какую-либо информацию о нем, но у него в любой момент должна быть возможность удалить эту информацию. В любом случае, я думаю, что в своем проекте Вы найдете применение этим знаниям.

А сейчас давайте начнем!

Удаляем записи из базы данных MySql через веб страницу

Что нам нужно сделать?

1. Нужно создать файл, в котором будут выводиться все записи (только имя и фамилия), чтобы мы могли выбрать какую из записей нужно удалить.

2. После нажатия на кнопку удалить будет подключаться файл обработчик, в который мы передадим идентификатор нужной записи и сформируем запрос на удаление.

3. В случае удачного удаления мы выведем на экран сообщение о том, что запись успешно удалена.

Теперь приступим к реализации.

1. Сначала нам нужен файл, который выведет на экран список всех записей из базы данных (в нашем случае мы будем выводить имена и фамилии пользователей).

По сути этот файл будет точно таким же, как и наш файл выбора записи для редактирования (“select_change.php”). Отличаться будет только файл-обработчик в параметре action нашей формы. И ссылки внизу, ведущие на все другие страницы приложения.

Поэтому, давайте откроем файл “select_change.php”, нажмем «Сохранить как» и дадим ему имя “select_delete.php”. Так мы получили новый файл с такой же структурой, как и у “select_change.php”.
В нем нужно будет исправить всего пару моментов.

Во-первых, добавьте во все файлы структуры ссылку на файл “select_delete.php”. Таким образом мы сможем попадать на него из любой страницы нашего мини приложения.

<a href="select_delete.php">Удалить пользователя</a><br/><br/>

 

Во-вторых, проверьте, чтобы с файла “select_delete.php” стояли ссылки на другие страницы (такие как: «добавить пользователя», «вернуться к поиску» и «редактировать запись»).

В-третьих, нужно поменять имя файла в параметре “action”формы. Пусть будет файл “delete.php” (его мы скоро создадим). Еще нужно поменять текст кнопочки на «Удалить».

Таким образом, код файла “select_delete.php” будет выглядеть вот так:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Выбор пользователя для удаления.</title>
</head>
<body>
<form action="delete.php" method="post">
<fieldset>
<?php
require 'scripts/connect.php';
$select_sql = "SELECT id, first_name, last_name FROM users";
$result = mysql_query($select_sql);
$row = mysql_fetch_array($result);
do
{
printf("<input type='radio' name='user' value='%s'>%s %s<br/><br/>", $row['id'], $row['first_name'],
 $row['last_name']);	
}
while($row = mysql_fetch_array($result))
?>
</fieldset>
<fieldset>
<input type="submit" value="Удалить">
</fieldset>
</form>
<a href="info_form.html">Добавить пользователя</a><br/><br/>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
<a href="select_change.php">Вернуться к выбору записей для редактирования</a><br/><br/>
</body>
</html>

 

2. Теперь создадим файл “delete.php” и разместим его в нашем основном каталоге.

Здесь код будет достаточно простым.

Сначала мы как всегда соединяемся с базой данных.

Затем получаем параметр “user”, в котором хранится идентификатор и заносим в переменную “$id”.

После формируем запрос к базе данных с просьбой удалить запись с таким идентификатором.

Проверяем на ошибки.

В случае их отсутствия выводим сообщение, что запись удалена успешно.

Проставляем ссылки на другие страницы, чтобы после удаления мы могли перейти туда, куда нам нужно.

Код довольно-таки короткий. Вот он:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Удаление</title>
</head>

<body>
<?php
require 'scripts/connect.php';
$id = $_REQUEST['user'];
$delete_sql = "DELETE FROM users WHERE id=$id";
mysql_query($delete_sql) or 
die("<p>При удалении произошла ошибка</p>". mysql_error());
echo "<p>Запись была успешно удалена!</p>";
?>
<a href="info_form.html">Добавить пользователя</a><br/><br/>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
<a href="select_change.php">Вернуться к выбору записей для редактирования</a><br/><br/>
<a href="select_delete.php">Удалить пользователя</a><br/><br/>
</body>
</html>

 

А вот результат работы скрипта:

Выбор элемента для удаления из базы данных

Успешное удаление из базы данных

Результат удаления

В конце прикладываю ссылку, по которой Вы можете скачать одностраничную схему-шпаргалку. Она поможет Вам при составлении запросов к базе данных. Просто распечатайте этот листок и положите (или повешайте) на своем рабочем месте. Когда будете работать с базами данных MySql и составлять к ним запросы, то всегда сможете быстро обратиться к подстказке, если что-то забыли.

Вот эта ссылка. Качайте!

На этом у меня все. Если Вам понравилась серия уроков или в чем-то помогла, то оставьте свой комментарий. Я буду Вам очень благодарна.

Также подписывайтесь на обновления блога, если Вы еще не подписались. Обещаю Вам много всего интересного и полезного. (А если в комментариях Вы напишите про что именно Вы бы хотели получать статьи и уроки, то это будет обязательно учтено).

Удачи и до новых встреч!

Leave a Reply