Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395

Не работает кнопка Удалить запись

08.02.2017, 20:36. Показов 1454. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста найти ошибку в коде. Не работает кнопка Удалить запись.Спасибо.
PHP
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>шаблон создания чата</title>
</head>
<body>
<?php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
 
mysql_select_db($db_database, $db_server)
or die("Невозможно выбрать базу данных: " . mysql_error());
if (isset($_POST['delete']) && isset($_POST['isbn']))
{
$isbn = get_post('isbn');
$query = "DELETE FROM posts WHERE isbn='$isbn'";
if (!mysql_query($query, $db_server))
echo "Сбой при удалении данных: $query<br />" .
mysql_error() . "<br /><br />";
}
if(isset($_POST['id_post']) &&
isset($_POST['message']) &&
isset($_POST['id_author'])&& 
isset($_POST['id_topic'])) 
{
$id_post= get_post('id_post');
$message= get_post('message');
$id_author = get_post('id_author');
$id_topic = get_post('id_topic');
$query = "INSERT INTO posts VALUES" .
"('$id_post', '$message', '$id_author' ,'$id_topic')";
if (!mysql_query($query, $db_server))
echo "Сбой при вставке данных: $query<br />" .
mysql_error() . "<br /><br />";
}
echo <<<_END
<form action="forum.php" method="post"><pre>
Id_post <input type="text" name="id_post" />
Message <input type="text" name="message" />
Id_author <input type="text" name="id_author" />
Id_topic <input type="text" name="id_topic" />
<input type="submit" value="ДОБАВИТЬ ЗАПИСЬ" /> // кнопка ДОБАВИТЬ ЗАПИСЬ
</pre></form>
_END;
$query = "SELECT * FROM posts";
$result = mysql_query($query);
if (!$result) die ("Сбой при доступе к базе данных: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
$row = mysql_fetch_row($result);
echo <<<_END
<pre>
Id_post$row[0]
Message $row[1]
Id_author $row[2]
Id_topic $row[3]
 
</pre>
<form action="forum.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name="isbn" value="$row[3]" />
<input type="submit" value="УДАЛИТЬ ЗАПИСЬ" /></form>// кнопка
                                                    // УДАЛИТЬ ЗАПИСЬ
_END;
}
mysql_close($db_server);
function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
 
 
 
 
 
?>
 
</body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2017, 20:36
Ответы с готовыми решениями:

Кнопка 'удалить запись' для БД paradox, ошибка
Здравствуйте. Помогите, пожалуйста, разобраться с таким вопросом: Создана база данных paradox и выведена на форму через dbgrid, при...

Не работает кнопка удалить и редактировать
Не работают кнопки Edit и Delete в чем дело ? а также в таблице взялся еще один ряд, который я назвал &quot;Student foto&quot; откуда он и...

Кнопка (добавить запись) работает по принципу (редактировать)
Доброго времени суток! Прошу помощи с моей БД. Вот какая штука: прописала код для кнопки добавить, как бы и работает, очищает...

18
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
09.02.2017, 10:40
посмотрите что приходит в $_POST['isbn']
0
 Аватар для arava
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
09.02.2017, 10:48
sergei60, возможно проблема в том что в Вашем коде :
HTML5
1
2
3
4
<form action="forum.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name="isbn" value="$row[3]" />
<input type="submit" value="УДАЛИТЬ ЗАПИСЬ" /></form>
упущен name='delete' для формы,по этому она не срабатывет

Добавлено через 1 минуту
попробуйте так :
HTML5
1
2
3
4
<form action="forum.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name="isbn" value="$row[3]" />
<input type="submit" name="delete" value="УДАЛИТЬ ЗАПИСЬ" /></form>
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
09.02.2017, 11:10
Цитата Сообщение от arava Посмотреть сообщение
упущен name='delete' для формы,по этому она не срабатывет
у него есть скрытое(hidden) поле:
HTML5
1
<input type="hidden" name="delete" value="yes" />
0
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
09.02.2017, 11:10  [ТС]
arava, нет, выдает ошибку Сбой при удалении данных: DELETE FROM posts WHERE isbn='3'
Unknown column 'isbn' in 'where clause'. причем ,если я пишу так: query = "DELETE FROM posts WHERE id_author='1'"; то удаляются посты автора 1. а мне надо чтобы любой пост любого автора удалялся. пробовал и так: DELETE FROM posts WHERE id_author IN ('1','2','3'), тоже не то.
Igsit , разбираюсь , спасибо.
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
09.02.2017, 11:14
Лучший ответ Сообщение было отмечено sergei60 как решение

Решение

Цитата Сообщение от sergei60 Посмотреть сообщение
Unknown column 'isbn' in 'where clause'
это говорит о том что у Вас в таблице posts нет поля с названием isbn

Добавлено через 31 секунду
покажите все поля этой таблицы
1
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
09.02.2017, 11:23  [ТС]
Igsit, mysql> select* FROM posts;
+---------+-----------------------------------+-----------+----------+
| id_post | message | id_author | id_topic |
+---------+-----------------------------------+-----------+----------+
| 22 | ку ку малышка | 1 | 2 |
| 23 | пока, дружок | 2 | 3 |
| 24 | привет | 3 | 1 |
| 25 | клава привет | 1 | 2 |
| 26 | я четвертый автор | 4 | 1 |
+---------+-----------------------------------+-----------+----------+
5 rows in set (0.00 sec)
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
09.02.2017, 11:31
ну вот, у Вас нет поля isbn, а по какому полю Вы хотите удалять записи?
0
 Аватар для arava
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
09.02.2017, 11:32
sergei60, ну а где же в таблице posts колонка isbn ?
1
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
09.02.2017, 11:55  [ТС]
У менна окне браузера после многочисленных манипуляций выскочила такая фигня pfgbcm ltkftncz ? и не уходит.что это и как с ним дальше жить?
Если я меняю код так :
PHP
1
2
3
4
if (isset($_POST['delete']) && isset($_POST['message']))
{
$isbn = get_post('message');
$query = "DELETE FROM posts WHERE message='$message'";
то все равно ничего не меняется. По идее я удаляю по полю message ?

Добавлено через 8 минут
С набором букв на странице разобрался моя оплошность,
0
 Аватар для arava
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
09.02.2017, 12:08
sergei60, в коде
PHP
1
$query = "DELETE FROM posts WHERE message='$message'";
Вы удаляете все записи по message . С выше приведенной таблицы что удалять то нужно?
0
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
09.02.2017, 12:13  [ТС]
arava, в браузере на странице у меня кнопки после каждого поста "Удалить запись". Я хочу удалять отдельную запись независимо какого автора.
0
 Аватар для arava
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
09.02.2017, 12:25
sergei60, Так как запись может повторятся, нужно удалять по id_post

PHP
1
2
3
4
5
6
7
$query = "DELETE FROM posts WHERE id_post='$id_post' ";
 
if (isset($_POST['delete'])) {
 
       $id_post = get_post('id_post');
       $query = "DELETE FROM posts WHERE id_post='$id_post'";
  }
Надеюсь поймете...
0
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
09.02.2017, 14:46  [ТС]
arava, пока ничего не получилось
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
09.02.2017, 15:51
sergei60, зачем Вам кнопка (хотя не имеет заначения) можно использовать ссылку оформленную как кнопка

например так

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$query = "SELECT * FROM posts";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
echo 'Id_post '.$row[0];
echo 'Message '. $row[1];
echo 'Id_author '. $row[2];
echo 'Id_topic '. $row[3];
echo '<a href='?delet=$row[0]'>Удалить</a>';
}
if (isset($_GET['delet'])) {
$query = "DELETE FROM posts WHERE id_post = '".(int)$_GET['delet']."'";
}
Это так для примера
0
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
09.02.2017, 16:33  [ТС]
Виталюска,
Это мне нужно просто для обучения. В книге приведен код и используется база библиотеки. .и там isbn это (International Standard Book Number — международный стандартный
книжный номер)
как уникальный номер авто дикремент своего рода. Столбец в таблице. У меня база forum для обучения . Тут нет столбца того, но как мне сделать чтобы удалялась замись кнопкой любая ,независимо от автора. Вот в браузере видны все записи и есть кнопки , я нажимаю и удаляю. Ваш код не понятен, разбираюсь , в любом случае спасибо.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
09.02.2017, 18:32
sergei60, замените ссылку на кнопку
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$query = "SELECT * FROM posts";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
echo 'Id_post '.$row[0];
echo 'Message '. $row[1];
echo 'Id_author '. $row[2];
echo 'Id_topic '. $row[3];?>
<form method='post' action='' name='del_form'>
<input type='hidden' name='isbn' value='<?php echo $row[0];?>'>
<input type='submit' name='del_button' value="УДАЛИТЬ ЗАПИСЬ">
</fotm>
<?php }
if (isset($_POST['del_button'])) {
$query = "DELETE FROM posts WHERE id_post = '".(int)$_POST['isbn']."'";
}
?>
1
 Аватар для sergei60
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
16.02.2017, 20:17  [ТС]
Виталюска, Спасибо за подсказку.
PHP
1
Id_post$row[0]
не соответствует
PHP
1
<input type="hidden" name="isbn" value="$row[3]" />
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
16.02.2017, 23:42
Цитата Сообщение от sergei60 Посмотреть сообщение
не соответствует
а с чего она должна соответствовать? это два разных элемента массива $row[0] - первый элемент массива, а $row[3] - это 4 элемент массива
Цитата Сообщение от sergei60 Посмотреть сообщение
<input type="hidden" name="isbn" value="$row[3]" />
тут value вообще будет пустое надо писать
PHP
1
2
3
<input type="hidden" name="isbn" value="<?php echo $row[3]; ?>" /> // 1 вариант
<input type="hidden" name="isbn" value="<? echo $row[3];?>" /> // 2 вариант
<input type="hidden" name="isbn" value="<?=$row[3]?>" /> // 3 вариант
найдите отличия от своей записи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2017, 23:42
Помогаю со студенческими работами здесь

Не работает кнопка 'УДАЛИТЬ" (My visual database)
Здравствуйте, у меня такой вопрос: Я создал форму с поиском по фамилии,имени,отчеству и должности, и добавил кнопку удаления,таблицу и...

Не могу редактировать данные из бд на сайте. А кнопка удалить работает
&lt;html&gt; &lt;head&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;flowplay/flowplayer-3.2.2.min.js&quot;&gt;&lt;/script&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;link...

В форме карточки сотрудников кнопка ДОБАВИТЬ ЗАПИСЬ не работает, почему, не могу понять.
Добрый день. ))) Подскажите пожалуйста. Делала БД сама (первый раз, голова уже дымится) В форме карточки сотрудников кнопка ДОБАВИТЬ ЗАПИСЬ...

Не работает кнопка Ctrl + левая кнопка мыши в Excel
Не работает кнопка ctrl + левая кнопка мыши в excel.Не выделяются ячейки.Хотя на рабочем столе или в любой папке выделяются любые несколько...

Кнопка следующая запись, предыдущая запись---какие коды
Подскажите пожалуйста коды на кнопки, выполняющие функции &quot;следующая запись, предыдущая запись&quot;, по аналогии те что находятся внизу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru