Как сделать удаление на php
В этом уроке я покажу Вам как удалять записи из базы данных MySql прямо из веб страницы. А в конце урока Вы сможете скачать шпаргалку по MySql запросам.
Итак, этим уроком я буду заканчивать небольшую серию уроков о том, как взаимодействовать с базой данных MySql из веб страниц. Этот урок будет меньше и легче предыдущих, особенно если Вы их прошли до этого.
Также помните, что все исходные материалы Вы можете найти в исходниках к каждому уроку.
В этом уроке я продолжу работать со структурой файлов из прошлых уроков.
На данном этапе: мы создали базу данных MySql, научились заносить в нее информацию из веб страницы, научились выводить нужные нам записи и все записи в виде списка, а также научились изменять любые поля базы данных MySql также из веб страницы.
Осталось только научиться удалять необходимые записи не заходя в саму базу данных. Это может Вам понадобиться, если Вы пишите админку для сайта или блога и в ней предусмотрено удаление записей. Или Вы позволяете Вашему пользователю загружать в базу данных какую-либо информацию о нем, но у него в любой момент должна быть возможность удалить эту информацию. В любом случае, я думаю, что в своем проекте Вы найдете применение этим знаниям.
А сейчас давайте начнем!
Удаляем записи из базы данных MySql через веб страницу
Что нам нужно сделать?
1. Нужно создать файл, в котором будут выводиться все записи (только имя и фамилия), чтобы мы могли выбрать какую из записей нужно удалить.
2. После нажатия на кнопку удалить будет подключаться файл обработчик, в который мы передадим идентификатор нужной записи и сформируем запрос на удаление.
Теперь приступим к реализации.
1. Сначала нам нужен файл, который выведет на экран список всех записей из базы данных (в нашем случае мы будем выводить имена и фамилии пользователей).
По сути этот файл будет точно таким же, как и наш файл выбора записи для редактирования (“select_change.php”). Отличаться будет только файл-обработчик в параметре action нашей формы. И ссылки внизу, ведущие на все другие страницы приложения.
Во-первых, добавьте во все файлы структуры ссылку на файл “select_delete.php”. Таким образом мы сможем попадать на него из любой страницы нашего мини приложения.
Таким образом, код файла “select_delete.php” будет выглядеть вот так:
2. Теперь создадим файл “delete.php” и разместим его в нашем основном каталоге.
Здесь код будет достаточно простым.
Сначала мы как всегда соединяемся с базой данных.
Затем получаем параметр “user”, в котором хранится идентификатор и заносим в переменную “$id”.
После формируем запрос к базе данных с просьбой удалить запись с таким идентификатором.
Проверяем на ошибки.
Проставляем ссылки на другие страницы, чтобы после удаления мы могли перейти туда, куда нам нужно.
Код довольно-таки короткий. Вот он:
А вот результат работы скрипта:
В конце прикладываю ссылку, по которой Вы можете скачать одностраничную схему-шпаргалку. Она поможет Вам при составлении запросов к базе данных. Просто распечатайте этот листок и положите (или повешайте) на своем рабочем месте. Когда будете работать с базами данных MySql и составлять к ним запросы, то всегда сможете быстро обратиться к подстказке, если что-то забыли.
На этом у меня все. Если Вам понравилась серия уроков или в чем-то помогла, то оставьте свой комментарий. Я буду Вам очень благодарна.
Также подписывайтесь на обновления блога, если Вы еще не подписались. Обещаю Вам много всего интересного и полезного. (А если в комментариях Вы напишите про что именно Вы бы хотели получать статьи и уроки, то это будет обязательно учтено).
Я пытаюсь добавить кнопку удаления в каждой строке, чтобы я мог удалить запись при нажатии кнопки. Я новичок в PHP и MySQL и переполнение стека.
Ниже моя таблица, которая извлекает информацию из моей базы данных MySQL, и это работает.
3 ответа
Просто используя PHP следующим образом (Вы можете использовать JS)
В вашем delete.php файле
Создайте файл delete.php, который получает $ _GET ['id'], затем запускает sql для удаления этой записи, когда они переходят на эту страницу. Сделано двумя способами: якорный тег, как я показал ниже,
Или сделать кнопку вместо привязки, запускающей ajax (через jquery), отправляющей этот идентификатор и запускающей скрипт delete.php, о котором я упоминал выше.
Я бы порекомендовал вам использовать Ajax для вызова, что-то вроде @webDev, но вместо вызова PHP вызовите Javascript с помощью AjaxCall, а затем используйте JS, чтобы скрыть / удалить соответствующую строку, таким образом, пользователь не сделал не нужно перезагружать всю страницу.
Вы можете дополнить ответ, который вы выбрали как правильный, с помощью этого кода вместо href:
Когда строишь какие-то системы для управления контентом на PHP, то необходимо не только создавать файлы, но и удалять их. В краткой заметке я расскажу, как удалить один или несколько файлов в PHP.
Удалить один файл на сервере в PHP
где $filepath - это путь к файлу вида "/home/user/www/mysite.ru/test/testphpfiletodelete.html".
В результате файл testphpfiletodelete.html будет удалён с сервера.
Более подробно про функцию unlink() можно прочитать в официальной документации по PHP .
Для автоматического формирования пути к файлу я бы советовал использовать вот такую конструкцию:
dirname(__FILE__) в данном случае сформирует путь к директории, в которой находится исполняемый PHP скрипт.
Удалить все файлы в папке (директории) через PHP
Для удаления всех файлов, например, из папки /test/ (находящейся в корне сайта) можно выполнить всего одну команду на PHP:
Данная командой найдёт все файлы в директории test (glob(dirname(__FILE__).'/test/*')) и удалит каждый из них уже знакомой функцией unlink().
Удалить файлы по маске (через PHP)
Если же необходимо удалить не все файлы, а только определенные (например, все .html файлы в данной директории), то можно дополнить команду выше вот таким образом:
Теперь выражение *.html выберет любые файлы с расширением html и, аналогично примеру выше, удалит их.
Массивы в PHP — один из мощнейших инструментов программиста. Когда я начинал изучать PHP, у меня был определенный багаж знаний работы с массивами в других языках программирования, таких как C++, Delphi и Fortrain. Везде требовалось объявить массив, указать его размерность, тип элементов. Ничего похожего вы не встретите в PHP. В PHP массив — это не линейный объект, а хеш-массив, т.е. набор пар — ключей и их значений. При чем, если ключ — это скаляр, то значение может быть любым объектом, в том числе и ещё одном хешем.
Дальше я хочу показать разнообразные способы удаления элементов из хеш-массива в PHP. В языках вроде C++, Delphi для подобных трюков понадобится создать специальный объект, двусвязный или односвязный список, аккуратно выделять и освобождать память, следить за восстановлением связей в списке. В PHP же весь это менеджмент спрятан и всегда готов к использованию.
Как удалить элемент массива в PHP?
Если вы знаете ключ, то удаление сводится к вызову функции unset().
Читайте также: