Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/30: Рейтинг темы: голосов - 30, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 25

Удаление строки из таблицы

06.07.2015, 05:06. Показов 6375. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В качестве наработки опыта делаю простенькую админку с редактированием таблиц БД.
http://pastebin.com/b81Dbuaw
При выводе $stmt показывает ("DELETE FROM users WHERE user_id = )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2015, 05:06
Ответы с готовыми решениями:

Удаление строки таблицы с условиями
Всем привет. Подскажите пожалуйста,как поменять данный код,чтобы удаление происходило не по 1 полю строки,а по нескольким? Это ссылка...

Удаление выбраной строки с таблицы
Здравствуйте, искал скрипт удаление строки с таблицы, вот нашёл: <?PHP $result = mysql_query ("SELECT * FROM iwd ORDER BY id...

Как сделать удаление строки из таблицы?
Есть таблица заявок, в таблице столбец "Удалить". Хочу удалить выбранную строку через ссылку, не получается, как лучше мне это сделать? ...

10
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
06.07.2015, 10:31
Не обязательно создавать 2 темы. Я так понимаю что в user_id ничего не подставляется. Посмотрите что у вас содержится в массиве $row, с помощью
PHP
1
print_r($row);
0
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 25
06.07.2015, 19:44  [ТС]
Вторую тему случайно создал. В цикле while вывод массива $row отображает содержимое запроса, в данном случае таблицы users.
Но в условии if не выводится ничего.
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
   <?php
 
           $login = "root";
           $password = "12345";
           $dbh = new PDO('mysql:host=localhost;dbname=test.ru', $login, $password);
           $stmt = $dbh->prepare("SELECT * FROM users");
           $stmt->execute(array($_GET['users']));
                while ($row = $stmt-> fetch(PDO::FETCH_LAZY)) {
 
 
                    echo "<tr><td id=first_name:1 contenteditable=true>" . $row[1] .
                        "</td><td id=first_name:1 contenteditable=true>" . $row[2] . "</td>" .
                        '<td> <a type="button" href="index.php?id=' . $row[0] . '"button type="button" class= "btn btn-danger">Удалить</button></a></td>' . "</tr>";
                    print_r($row);
 
                }
                    if ($_GET[id] != "") {
                        $stmt = $dbh->prepare("DELETE FROM `users` WHERE `user_id` = $row[0]");
                        $stmt->execute(array($_GET[`users`]));
 
                        print_r($stmt) ;
                        print_r($row);
                    }
 
 
           ?>
Добавлено через 24 минуты
Вообще мне необходимо чтобы по нажатию кнопки удалялась запись в БД, но при этом каждой кнопке присваивается id записи из БД
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.07.2015, 20:38
может так?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    $login = "root";
    $password = "12345";
    $dbh = new PDO('mysql:host=localhost;dbname=test.ru', $login, $password);
 
    if (isset($_GET[id]) && !empty($_GET['id'])) {
        $stmt = $dbh->prepare("DELETE FROM `users` WHERE `user_id` ='". $_GET['id']."'");
        $stmt->execute(array($_GET[`users`]));
 
        print_r($stmt) ;
        print_r($row);
    }
 
    $stmt = $dbh->prepare("SELECT * FROM users");
    $stmt->execute(array($_GET['users']));
    while ($row = $stmt-> fetch(PDO::FETCH_LAZY)) {
        echo "<tr><td id=first_name:1 contenteditable=true>" . $row[1] .
            "</td><td id=first_name:1 contenteditable=true>" . $row[2] . "</td>" .
            '<td> <a type="button" href="index.php?id=' . $row[0] . '"button type="button" class= "btn btn-danger">Удалить</button></a></td>' . "</tr>";
        print_r($row);
    }
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
06.07.2015, 21:57
И что в итоге выводится на экран?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.07.2015, 22:05
Цитата Сообщение от fanatikus Посмотреть сообщение
if (isset($_GET[id]) && !empty($_GET['id'])) {
isset тут избыточен + не хватает кавычек
Цитата Сообщение от fanatikus Посмотреть сообщение
$stmt = $dbh->prepare("DELETE FROM `users` WHERE `user_id` ='". $_GET['id']."'");
prepare не так надо использовать + кавычки перепутаны
PHP
1
2
$stmt = $dbh->prepare("DELETE FROM `users` WHERE `user_id` = ?");
$stmt->execute(array($_GET['id']));
1
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
07.07.2015, 09:33
вот в этом куске проблема. Явно что-то не так
PHP
1
'<td> <a type="button" href="index.php?id=' . $row[0] . '"button type="button" class= "btn btn-danger">Удалить</button></a></td>' . "</tr>";
Вы когда нажимаете по ссылке "Удалить" по какому адресу переходите?
0
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
07.07.2015, 09:40
А там не надо подставлять параметров, это же подготовленное выражение. Вот вместо user_id = $row[0] надо так: user_id = ?

И, видимо, на следующей строке заменить
PHP
1
$stmt->execute(array($_GET['users']));
на
PHP
1
$stmt->execute(array($_GET['id']));
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
07.07.2015, 11:06
Цитата Сообщение от Jewbacabra Посмотреть сообщение
не хватает кавычек
согласен, задумался
Цитата Сообщение от Jewbacabra Посмотреть сообщение
prepare не так надо использовать
я в это не вникал, просто показал, что if должен быть перед while
0
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 25
07.07.2015, 13:59  [ТС]
Сработало вот так
PHP
1
2
3
4
if ($_GET[id] != "") {
                        $stmt = $dbh->prepare("DELETE FROM `users` WHERE `user_id` = ".$_GET['id']);
                        $stmt->execute(array($_GET['users']));
}
Добавлено через 9 минут
Сработало и c if после while

Добавлено через 2 минуты
Массив $row содержит таблиц записи таблицы БД

Добавлено через 3 минуты
После нажатия кнопки Удалить и удаления записи из БД, в адресной строке браузера остается адрес http://test.ru/index.php?id=18 . Как после операции удаления сделать возврат на http://test.ru/index.php ?

Добавлено через 2 часа 31 минуту
Подскажите в двух словах как реализовать update на этой же страничке, через post как то не выходит, массив post пустой
0
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
07.07.2015, 14:09
через post как то не выходит, массив post пустой
Когда нажимаем на ссылку, происходит запрос методом GET

Как после операции удаления сделать возврат на http://test.ru/index.php ?
PHP
1
2
3
4
<?php
 
header('Location /index.php');
exit;
Добавлено через 2 минуты
При чем, если до вызова функции header() у тебя был вывод какой-либо информации, она не сработает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.07.2015, 14:09
Помогаю со студенческими работами здесь

Удаление строки из таблицы по нажатию кнопки
подскажите люди добрые, как можно удалить строчку из бд при нажатии на кнопку?

Удаление строки из таблицы
Ребята проблема такая! Это удаление строки с момощью removerow() при использовании модели QSqlRelationalTableModel void...

Удаление строки из таблицы
А помогите пожалуйста сделать так, чтоб была еще одна кнопка &quot;удаление&quot; определенной созданной строки. Ну там может через ChekBox. ...

удаление строки из таблицы значений
Вроде простая операция, а не работает... тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку()=1 Цикл Если (тз.Подр=&quot;ППС&quot;) Тогда ...

Удаление строки таблицы в ворде
Как зная текст удалить строку таблицы в документе со сдвигом вверх? Например, если я знаю, что в таблице есть строка со словом...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
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