Форум » Вебмастер и вебдизайн » Языки программирования » Непонятка с БД - команда UPDATE.
Открыть Ответить

Непонятка с БД - команда UPDATE.

0

0

1
04.09.2010 12:58:11 04.09.2010 13:36:54

Есть у меня объект, с кучей параметров: id, title, description, price, tags и тд....

Допустим, мне нужно отредактировать только параметры title и description (быстрое редактирование мучу).

Дана форма с двумя полями: title и description. В <input type=hidden> забиваю id объекта, кнопкой Сохранить отправляется всё это в php функцию, где происходит запись в бд:

Код
update table_ololo set title='$title', description='$description' where id='$id'

Требуемые параметры записываются верно в свои ячейки, но беда заключается в том, что прочие параметры - price, tags, и тд - затираются.

Цель - сделать так, чтобы заменялось только то, что должно))

в phpmyadmin запрос, который я привел выше, почему то работает так как нужно, т.е. прочие параметры остаются на своих местах, меняются только нужные - title, description.

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 4
Сервер Сервер в интернете
Goshan
Goshan
3.92

3.92

2
04.09.2010 14:13:41

проверь что передается из формы в параметре id

patriot
patriot
4.03

4.03

3
04.09.2010 14:15:11 04.09.2010 14:15:50

Именно то, что нужно - id того элемента, который редактирую.

Код
<input type=\"hidden\" name=\"id\" value=\"".$id."\">
Goshan
Goshan
3.92

3.92

4
04.09.2010 17:59:58 04.09.2010 18:02:01

Goshan,
так красивее не правда ли?

Код
<input type='hidden' name='id' value='$id'>

попробуй виесто id использовать, например, e_id, вещи несвязанные, знаю, но у меня тодже иногда на id ругается сценарий

sam07
sam07
3.91

3.91

5
04.09.2010 18:05:40 04.09.2010 18:09:37

не, такое не прокатывает

дык сценарий то не ругается, просто он все поля элемента в БД обнуляет

Goshan
Goshan
3.92

3.92

6
04.09.2010 20:44:46 04.09.2010 20:46:05

перед записью в базу сделай exit и выведи содержимое запроса в браузер...

т.е.

Код
 $sql = "UPDATE..........";
echo $sql; exit;

Посмотри результат, все данные на месте?
Какие значения по умолчанию имеют остальные поля в данной таблице?

sam07
sam07
3.91

3.91

7
04.09.2010 22:20:39 04.09.2010 22:26:50

Посмотрел. Всё на месте, всёё верно. Значит форма передает всё правильно, почему то запись видимо косячит.

Goshan
Goshan
3.92

3.92

8
04.09.2010 22:31:37 04.09.2010 22:34:12

нет

Goshan
Goshan
3.92

3.92

9
04.09.2010 22:34:57 04.09.2010 23:34:54

Всё, проблема решена... Недоглядел -

PHP
switch ($op) {

    case "ololo_function":
    ololo_functio();
    break;
}

грамматическая ошибка в свиче, а привела к забавным чудесам))
_______________

Спрошу здесь. Вообще жесть. Есть обычная форма

Код
<form action='admin.php' method='post'>
<input type='text' name='title' value='Заголовок'><br><br>
<textarea name='shortdescription' cols='85' rows='20'> ...вжик... </textarea><br><br>
<input type='hidden' name='op' value='FastS'>
<input type='hidden' name='lid' value='1578'>
<input type='submit' value='Сохранить'>
</form>

В некоторых, непонятных случаях, нажатие кнопки Сохранить ни к чему не приводит ни в Опере, ни в FF? Как так, что-то непонятно ^^

Goshan
Goshan
3.92

3.92

10
06.09.2010 08:04:42

Перенаправления на функцию 'FastS' идет?

Если нет - то 100% какая то предыдущая форма на данной странице просто НЕ ЗАКРЫТА тегом </form>

sam07
sam07
3.91

3.91

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр