METANIT.COM

Удаление записи из БД посредством PHP

Необходимо организовать удаление записей из БД МУСКЛ таким образом:
Когда содержимое таблицы выводится на экран, то должен добавляться еще один столбец — кнопка Удалить (или ссылка УДАЛИТЬ) около каждой записи. Как организовать все это так, чтоб при нажатии на кнопку (ссылку) удалялась определенная запись (как текущее значение столбца ИД, по которому все будет удаляться, скрипту удаления?)

Удаление записи из БД посредством PHP — PHP
помогите пожалуйста разобраться, почему мой скриптик не удаляет запись из бд? If (isset($_GET)).

Удаление записи из БД посредством PHP
Имеется база данных. Необходимо из одной таблицы удалить данные. Данный код удаляет по.

Удаление записи из БД посредством PHP
Навеяло отсюда https://www.cyberforum.ru/php/thread32446.html Сделал все как в примере выше и ни.

Удаление данных из базы посредством PHP
Доброго времени суток! Прежде, чем начнете меня ругать, хочу сказать, что курил очень много.

Лучший ответ

Сообщение было отмечено как решение

Решение

А в чём проблема? Получаешь из таблицы все нужные столбцы и ещё столбец с номером записи. И когда их выводишь, то выводи ещё кнопку

echo "\"button\" value=\"Удалить\" onclick=\"location.href='/script.php?delid=$id';\" />";
if (isset($_POST['delid'])) { $delid=$_POST['delid']; mysql_query("DELETE FROM tab WHERE >$delid;"); header('Location: /script.php'); // переадресовываем на главную страницу, что бы при нажатии F5 повторного удаления небыло exit; }

А как-то странно кнопка СУБМИТ выглядит.

Добавлено через 21 минуту 13 секунд
О все СПАСИБО РАЗОБРАЛЛЛЛСО. УРА.

У меня не работает, уже 3 часа голову ломаю
Посмотрите, пожалуйста, где ошибка?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
 require('config.php'); require('head.php'); ?>  $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die('Не удалось соединиться: ' . mysql_error()); mysql_select_db($my_database, $link) or die('Не удалось выбрать базу данных'); $query = "SELECT * FROM orders WHERE status=1 ORDER BY id"; $result = mysql_query($query,$link) or die('Запрос не удался: ' . mysql_error()); $num = mysql_num_rows($result); $cur = 1; ?> 
echo $_SERVER['PHP_SELF'];?> method="post"> while ($num >= $cur) { $row = mysql_fetch_array($result); $id = $row["id"];?> $cur++; } ?>
echo $id?> echo "\"button\" value=\"Обновить\" onclick=\"location.href='/onpay.php?update=$id';\" />"; ?>
if (isset($_POST['update'])) { $update=$_POST['update']; $for_pay_tmp=$_POST['for_pay_tmp']; echo "$update
"
; echo "$id
"
; echo "$for_pay_tmp
"
; $query = "UPDATE orders SET status=0, for_pay='$for_pay_tmp' WHERE "; $result = mysql_query($query,$link) or die('Запрос не удался: ' . mysql_error()); echo "

Заявка на оплату принята


"
; header('Location: /onpay.php'); } ?>

не срабатывает даже вывод echo 41-43 строк

Добавлено через 39 минут
разобрался
$_POST[‘update’] надо $_GET[‘update’]

Добавлено через 13 минут
но вот теперь $for_pay_tmp берет не для того Id

Добавление новой записи в базу данных посредством php
Нужно добавить новую запись в базу данных, как реализовать загрузку изображения. уже 2 недели.

Добавление и редактирование новой записи в базу данных посредством php
Приветствую, мне необходимо реализовать добавление и редактирование записей из php, пробовал уже.

Удаление записи php
Всем привет. Знаю что подобные темы уже существуют, но решение я не нашел. Есть 3 скрипта: 1-й.

ListView: добавление записи, выбор записи, удаление записи
на форме есть три текст бокса: textbox1(имя), textbox2(фамилия), textbox3(отчество).

Источник

Php кнопка удалить mysql с

Для удаления данных применяется sql-команда DELETE :

DELETE FROM Таблица WHERE столбец = значение

Для удаления данных возьмем использованную в прошлых темах таблицу Users со следующим определением:

CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER)

Объектно-ориентированный стиль

Вначале определим для вывода всех объектов из БД скрипт index.php :

     

Список пользователей

connect_error)< die("Ошибка: " . $conn->connect_error); > $sql = "SELECT * FROM Users"; if($result = $conn->query($sql))< echo ""; foreach($result as $row)< echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
ИмяВозраст
" . $row["name"] . "" . $row["age"] . "
"; $result->free(); > else< echo "Ошибка: " . $conn->error; > $conn->close(); ?>

В таблицы для каждой строки определена форма, которая посылает данные в POST-запросе скрипту delete.php . Чтобы передать в delete.php идентификатор удаляемого объекта, на форме определено скрытое поле для хранения id объекта.

Обратите внимание, что в данном случае применяется не ссылка для удаления типа

которая оправляет данные в GET-запросе, а именно форма, которая отправляет данные в POST-запросе. Почему? Подобные GET-запросы потенциально небезопасны. Допустим, нам пришло электронное письмо, в которое была внедрена картинка посредством тега:

В итоге при открытии письма 1-я запись в таблице может быть удалена. Уязвимость касается не только писем, но может проявляться и в других местах, но смысл один — GET-запрос к скрипту, который удаляет данные, несет потенциальную уязвимость.

Теперь определим сам скрипт delete.php , который будет выполнять удаление:

connect_error)< die("Ошибка: " . $conn->connect_error); > $userid = $conn->real_escape_string($_POST["id"]); $sql = "DELETE FROM Users WHERE "; if($conn->query($sql)) < header("Location: index.php"); >else< echo "Ошибка: " . $conn->error; > $conn->close(); > ?>

В данном случае скрипт получает через POST-запрос значение id и по этому идентификатору выполняет удаление. После чего происходит переадресация на скрипт index.php .

Удаление из MySQL в PHP PDO

Процедурный стиль

     

Список пользователей

$sql = "SELECT * FROM Users"; if($result = mysqli_query($conn, $sql))< echo ""; foreach($result as $row)< echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
ИмяВозраст
" . $row["name"] . "" . $row["age"] . "
"; mysqli_free_result($result); > else < echo "Ошибка: " . mysqli_error($conn); >mysqli_close($conn); ?>
 $userid = mysqli_real_escape_string($conn, $_POST["id"]); $sql = "DELETE FROM Users WHERE "; if(mysqli_query($conn, $sql)) < header("Location: index.php"); >else < echo "Ошибка: " . mysqli_error($conn); >mysqli_close($conn); > ?>

Источник

Создание в таблице кнопки удаления записи из БД

В последней колонке таблицы под названием delete нужно создать именно кнопку удаления данных из БД напротив каждой записи
Буду благодарен за любую помощь!

Создание записи в таблице Данные по нажатию кнопки на форме
При нажатии кнопки добавить запись ничего не происходит. Код на кнопке DoCmd.GoToRecord , .

Добавить функционал для кнопки: создание следующей записи в таблице
Есть кнопка "Добавить запись". По её нажатию выскакивает окно с надписью "Запись успешно.

Программирование кнопки удаления записи
procedure TForm1.Button5Click(Sender: TObject); var i:integer; begin Seek(NoteFile, pos);.

while ($row=mysql_fetch_array($res)) { echo "".$row['id']." ".$row['autor']." ".$row['title']." ".$row['price']."  "; } }

ЦитатаСообщение от Kalanxoe Посмотреть сообщение

while ($row=mysql_fetch_array($res)) { echo ''.$row['id'].' '.$row['autor'].' '.$row['title'].' '.$row['price'].' .$row['id'].'" name="button_'.$row['id'].'" value="Удалить">'; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
if (isset($_POST['button'])) { $query = "SELECT * FROM Books"; $res = mysql_query($query) or die(mysql_error()); while ($row=mysql_fetch_array($res)) { $z="button_".$row['id']; if ($_POST[$z]!=' ') { mysql_query("DELETE FROM books WHERE >.$row['id']); } if (mysql_affected_rows()==1) { header('location:здесь адрес страницы на к-рую надо перекинуть вас'); } } }

На самом деле нажатие кнопки не рекомендуется обрабатывать — в ИЕ в частности на нажатие Enter кнопка не реагирует — но тут уж сами смотрите что вам надо обработать — по-моему лучше кнопки на ссылки «удалить» заменить

Добавлено через 12 минут
а вообще вместо кнопки я бы сделал радиобаттоны — отметил галочкой какие книги надо удалить и удалил — а не тупо кнопкой каждую книгу удалять)

{ echo ''.$row['id'].' '.$row['autor'].' '.$row['title'].' '.$row['price'].' .$row['id'].'" name="button_'.$row['id'].'" value="Удалить">'; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
if (isset($_POST['button'])) { $query = "SELECT * FROM Books"; $res = mysql_query($query) or die(mysql_error()); while ($row=mysql_fetch_array($res)) { $z="button_".$row['id']; if ($_POST[$z]!=' ') { mysql_query("DELETE FROM books WHERE >.$row['id']); } if (mysql_affected_rows()==1) { header('location:здесь адрес страницы на к-рую надо перекинуть вас'); } } }

остальное оставьте как было

ЦитатаСообщение от Kalanxoe Посмотреть сообщение

с кнопкой опять не очень хорошо получается — я пишу if (isset($_POST[‘button’])) а она называется «button_’.$row[‘id’].'» — тут уж имя кнопки сами поправьте

Может это как то можно осушествить через Javascript. To есть передать id через джаву а потом через php(зрз). 🙂

Эксперт HTML/CSSЭксперт PHP

if(isset($_POST['кнопка_удаления'])) { echo "Для подтверждения удаления нажмите на кнопку:  
.$_POST['id']."'>"; if(isset($_POST['delete'])) { //удаляем }

Добавлено через 12 минут

script> function ask() { var s = confirm("Вы уверены?"); if(s) { document.forms['form1'].submit(); } } script>
form method=post id="form1"> input type=text name=text> input type=button onclick="ask(); return false;"> /form>
 if(isset($_POST['text'])) { //удаляем } ?>

Да это работает я конечно сделал по другому чуть чуть. Но тут не нужно забывать что все это происходит в цыкле. Я делаю запрос из базы данных и вывожу запись в цикле. А значит получается таких форм с названием form1 будет несколько а это приводит к тому что передает через POST только первую данную, а значит и удалит он первую запись, хотя нажимал к пример 3-ую запись. Я конечно могу поменять название формы в цикле чтобы было form1, form2, . form.n, где n-это последовательное число и т.д. но как потом сказать джаву что он должен применить именно ту форму которая называется form.n?
Вот задачка! Во время этого вопроса у меня возник идея с первым вариантом. Пабробую это простое сообщение вывести в модальное окно. Если что то получится напишу.

Эксперт HTML/CSSЭксперт PHP

ЦитатаСообщение от Грачья Посмотреть сообщение

и причем тут js вообще? ему абсолютно все равно что передавать. вынесите теги

и

за цикл и у вас будет одна форма.
добавьте скрытые поля с id из БД к каждой записи и все.

echo "\"/\" method=\"post\"> $row['id']/>$row['id']." ".$row['title']." ".$row['desc'] "; if(isset($_POST['delete'])) { $check = $_POST['check']; $res = "delete from table where "; }

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

Господа Вы на 3 страницы форума нагородили простейший код. Зачем делать форму если достаточно ссылки на страницу удаления?
Вставить ссылку с таблицы из поля удаления например del.php&id=(тут без скобок ид записи из базы которую нужно удалить)
Далее файл del.php

 if(isset($_GET[id])) { include "config.php"; $res = mysql_query("delete from table where "); if(!$res) exit('ошибка удаления'); //если удаление удачно можно сделать рефреш на страницу вовода из базы } ?>

Источник

Читайте также:  Java arraylist методы сортировки
Оцените статью