| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > не выполняется UPDATE запрос |
| Автор: Enya 6.11.2006, 16:58 | ||||||
| Что делает этот код? Делает выборку данных из таблицы. Размещает в определённых полях. Что нужно? Что бы внесённые изменения в полях, сохранялись в БД. Чего код не делает? Именно не сохраняет новую инфу в БД.
Вот не нравиться вот эта строчка
Добавлено @ 17:03
|
| Автор: Nbuth 6.11.2006, 20:56 | ||||
Ну во первых, id у тебя в посте вообще не передается, строчки 18-27 надо заменить примерно так:
ну и сам запрос надо переделать примерно так:
и прейдется перенести ещё UPDATE запрос на верх страницы, иначе у тебя header("location:control.php"); не сработает |
| Автор: Enya 6.11.2006, 22:16 |
| Странно. А вот в этом уроке написано так:http://www.phpeasystep.com/mysqlview.php?id=10 |
| Автор: check 6.11.2006, 23:56 |
| Там показан запрос в общем виде. SQL-запрос это строка, поэтому переменные туда нужно подставлять как в строку. |
| Автор: Nbuth 6.11.2006, 23:59 |
| Enya, ну во первых, в этом уроке все написано, с учетом того что register_globals стоит в On, а у тебя наверняка в off во вторых переменая id у них и в этом примере не передается, х.з., наверно очепятка у них там какая, или ещё, что. (для проверки можешь сунуть в обработчик кнопки такой текст ?><pre><? print_r($_POST); ?></pre><? и увидешь что там передается, а что нет) ну и в последних, думаю если ты оставишь header("location:update_multiple.php"); на том месте, где он сейчас стоит, то столкнешся, примерно с таким сообщением: Warning: Cannot modify header information - headers already sent by ... З.Ы.: так что выкинь этот урок, впринципе, ничего хорошего я в нем вообще не увидел, ни одного толкового коментария, ни одного описания функции ... |
| Автор: Nbuth 7.11.2006, 09:11 |
| check, не спорю, можно сделать и так, но мы получим один совершенно не нужный запрос, а следовательно лишняя нагрузка на сервер. а если вообще уберем header(), то получим страницу со старыми данными, что тоже как-то не особо |
| Автор: Enya 7.11.2006, 10:48 |
| Nbuth, теперь данные в таблицу вставляются. Но при следующем редактирование в поля не вставляются уже существующие данные (из SELECT запроса), кликаю на редактирование а поля пустые, хотя в БД записи есть. И если не все поля заполнены то он их перезапишет пустыми. |
| Автор: Nbuth 7.11.2006, 11:01 |
| Enya, покажи код, так трудно говорить, что у тебя там |
| Автор: Enya 7.11.2006, 11:11 | ||
Nbuth, вот
|
| Автор: -=Ustas=- 7.11.2006, 11:23 | ||
Enya, попробуй так:
|
| Автор: Enya 7.11.2006, 14:01 |
| -=Ustas=-, что-то не то. Не сохраняет. Вот сам http://www.nasha.lv/123/control.php |
| Автор: -=Ustas=- 7.11.2006, 15:06 |
Всмысле не сохраняет?! |
| Автор: Enya 7.11.2006, 15:28 |
| -=Ustas=-, я же ссылку дала. Попробуй сам. Ну, нажимаю редактировать. Вбиваю данные в поля. Данные не попадают в БД. Смотрелда в ручную. |
| Автор: -=Ustas=- 7.11.2006, 15:56 |
| Enya, нормально все сохраняется. Только что пробовал. |
| Автор: Enya 7.11.2006, 16:26 |
| -=Ustas=-, примите мои извинения. Я просто не много запарилась с этим update. Мне ещё каждую строчку, перелопатить - не хочу чтоб мимо ушей прошло. |
| Автор: Enya 7.11.2006, 17:24 | ||
| И так типичная ошибка, повторяется. Теперь с удалением. Я вот решила не много сама, как пока поняла внести изменения. Теперь сообщения об неопределённости переменных не появляется. Массив id-шек, отправляется, но удаление не происходит.
Добавлено @ 17:24 http://www.nasha.lv/123/control.php?type=3 |
| Автор: -=Ustas=- 7.11.2006, 18:44 | ||
| Enya, ну вот опять вы за своё!!! Добавлено @ 18:52
|
| Автор: Enya 7.11.2006, 21:39 |
| -=Ustas=-, слушайте, давайте вы хоть на пальцах алгоритм объясните, я то понимаю что допускаю туже ошибку второй раз. |
| Автор: SelenIT 7.11.2006, 21:52 |
| Enya, насколько я понимаю, Ваша проблема была в том, что Вы не сразу видели внесенные изменения? Так нужно сначала сделать изменения (update|delete), а потом вывести текущее состояние (select), а у Вас была обратная последовательность... |
| Автор: Mystery_of_being 7.11.2006, 22:49 |
| По этой теме... Мне движок магазинный дали.. там все переменный были такие $_POST[&name]; без кавычек... И мне чтобы все это работало пришлось везде тупо ставить кавычки, а у други все работало ... почему ? |
| Автор: -=Ustas=- 8.11.2006, 10:18 |
| Mystery_of_being, нет, не по этой. Одна тема - один вопрос, читай основы PHP. Добавлено @ 10:32 Enya, ты не правильно обращалась к ПОСТ-массиву, в котором у тебя были нужные тебе массивы, и соответственно циклы неправильные были. |
| Автор: Enya 8.11.2006, 10:53 | ||||
-=Ustas=-,
|
| Автор: -=Ustas=- 8.11.2006, 11:14 | ||
Ну на самом деле, эта конструкция, чтоб бы обойтись одним запросом без цикла
Надеюсь понятно обяснил?! |
| Автор: Enya 8.11.2006, 11:23 | ||
-=Ustas=-, конечно! я просто не знала, что есть такой оператор в SQL
Как-то не сталкивалась. Спасибо! |