Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Укажите на ошибку в if else
 
 автор: allforweb   (02.12.2010 в 21:45)   письмо автору
 
 

Модуль «Добаление и редактирование новости». Есть два чекбокса, которые отвечают за активность новости и ее фиксации. Если чекбокс отмечен то показываем новость и фиксируем ее при выводе, если нет то не показываем и не фиксируем. В БД организовано все так:
active tinyint(1) записываем в поле 1 – новость показывается, если 0 – не показывается
fixed tinyint(1) записываем в поле 1 – новость фиксирована, если 0 – не фиксирована

Проблема вылазит при редактировании. Я хочу чтобы чекбокс был отмечен или не отмечен при редактировании новости. И сделал вот такой проверяющий код:

if( $myrow['active'] == 1) {$checked = "checked='checked'";} else {$checked ="";}
if( $myrow['fixed'] == 1)  {$checked = "checked='checked'";} else {$checked ="";}

как вариант еще так писал:
if( $myrow['active'] == 1) $checked = "checked='checked'"; else $checked ="";
if( $myrow['fixed'] == 1)  $checked = "checked='checked'"; else $checked ="";

echo $myrow['active']; //выводит 0
echo $myrow['fixed']; // выводит 1

А при редактировании новости этот код не срабатывает. Или все отмечено, или все не отмечено, а данные разные.

  Ответить  
 
 автор: yuk   (03.12.2010 в 00:12)   письмо автору
 
   для: allforweb   (02.12.2010 в 21:45)
 

Вы используете одну и ту же переменную ($checked) для разных проверок ($myrow['active'] и $myrow['fixed']).
Используйте, например, $checked1 и $checked2 вместо $checked

  Ответить  
 
 автор: sim5   (03.12.2010 в 07:37)   письмо автору
 
   для: allforweb   (02.12.2010 в 21:45)
 

То что одну и ту же переменную используете, это раз, и на сервере вы никогда не получите "checked='checked'", это у клиента при проверке в JS такое возможно, но не как checked='checked', а this.checked==true/false.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования