Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: вопрос по обновлению записей
$sql=("UPDATE `note` SET reg_date='".addslashes($sadd_date)."' , reg_date_begin='".addslashes($sadd_date_begin)."',
reg_date_end='".addslashes($sadd_date_end)."' ,predmet='".addslashes($sadd_preddog)."' WHERE reg_number= '$sadd_rnomer'");
Все прекрасно работает. Однако, если у меня некоторые из переменных не содержат новых данных, то в запись идут значения "0". И приходится всю запись набирать заново. Очень неудобно, так как хотелось бы исправить данные одного поля, а выходит что исправляются все поля.
Можно ли сделать так, чтобы обновлялись только те поля, где переменные содержат данные. А в обратном случае поля в записи оставались прежними.
Подскажите пожалуйста.
Надо ли проверить каждую переменную до выполнения запроса?
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Altynayka
Отправлено: 15 Апреля, 2008 - 12:12:08
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
EuGen
сделала, все что было Вами указано, но увы, не вышло. проблема осталась.
EuGen
Отправлено: 15 Апреля, 2008 - 12:14:30
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Это может быть, только если передаются какие-то значения $_POST (в указанных полях). В этом случае можно добавить проверку на пустоту строки:
$_POST['index']!=""
И сделайте print_r($_POST);
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Altynayka
Отправлено: 15 Апреля, 2008 - 13:12:03
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
RomAndry
не могли бы уточнить как правильно закрыть последнюю проверку?
так будет правильно?
увидите свой запрос и проанализируете. (Добавление)
Цитата:
сделала проверку :
вместо ИЛИ нужно использовать И (AND, &&)
EuGen
Отправлено: 15 Апреля, 2008 - 14:39:15
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Соглашусь с RomAndry, посмотрите, какой у Вас запрос получается, и насчет проверки тоже.
Делаете так:
1. print_r($_POST) - смотрите, а что же Вы собственно передаете
2. Делаете echo($sql) - смотрите Ваш запрос
3. После выполнения 1 и 2 должно стать ясно, какие условия означают отсутствие данных в $_POST и, соответственно, какие условия нужно написать, так как isset я писал, исходя из того, что данные были не переданы (а это может быть не так).
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Altynayka
Отправлено: 16 Апреля, 2008 - 07:01:46
Частый гость
Покинул форум
Сообщений всего: 208
Дата рег-ции: Март 2008
Помог: 0 раз(а)
Возник вопрос не по теме, как бы нелепо это не звучало, но ,мне кажется связан каким-то образом с предыдущей темой, так как эта проблема возникла после проверки isset.
Вообщем, при регистрации , например, на получение почтового адреса нужно заполнить форму. И в случае неудачной передачи, т.е. после того, как вы нажали на кнопку "Выполнить", выходит сообщение, что какие-то данные не были введены правильно, и обычно при нажатии кнопки "Назад", поля формы, содержат те записи, которые вы вводили до нажатии кнопки "Выполнить", кроме пароля.
У меня проблема такая, что после того, как я сделала провеку на обязательную передачу и не пустые поля, то при нажатии кнопки "Назад", поля формы остаются пустыми. Помогите решить эту проблему.
SOS!!!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.