|
|
|
| Модуль «Добаление и редактирование новости». Есть два чекбокса, которые отвечают за активность новости и ее фиксации. Если чекбокс отмечен то показываем новость и фиксируем ее при выводе, если нет то не показываем и не фиксируем. В БД организовано все так:
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
|
А при редактировании новости этот код не срабатывает. Или все отмечено, или все не отмечено, а данные разные. | |
|
|
|
|
|
|
|
для: allforweb
(02.12.2010 в 21:45)
| | Вы используете одну и ту же переменную ($checked) для разных проверок ($myrow['active'] и $myrow['fixed']).
Используйте, например, $checked1 и $checked2 вместо $checked | |
|
|
|
|
|
|
|
для: allforweb
(02.12.2010 в 21:45)
| | То что одну и ту же переменную используете, это раз, и на сервере вы никогда не получите "checked='checked'", это у клиента при проверке в JS такое возможно, но не как checked='checked', а this.checked==true/false. | |
|
|
|