Checkbox

Dreamer76

Through thorns
Checkbox

У меня вопрос. Вот есть у меня форма с 5 чекбоксами. Я их выбрал и как массив загнал в mysql.

Потом, мне надо править форму (типа админской панели), где те же чекбоксы, но те, которые указывались в момент первого ввода в mysql, должны быть checked, т.е. checked должно ставиться, если в mysql есть соотв. этому чекбоксу запись.
Как быть?
 

Dreamer76

Through thorns
Вот есть у меня такая форма:

<input type="checkbox" name="chel[]" value="name1">name1<br>
<input type="checkbox" name="chel[]" value="name2">name2<br>
<input type="checkbox" name="chel[]" value="name3">name3<br>
<input type="checkbox" name="chel[]" value="name4">name4<br>

Куда мне надо вставить:

if($field == 'y')
{
echo "checked";
}

чтобы, когда я ее открою на редактирование, все чекбоксы, что отмечены в БД, были checked? :(
 

Demiurg

Guest
>Куда мне надо вставить:
вечная проблема, куда вставить.

в базу у тебя в каком виде попадают эти данные ?
 

Фанат

oncle terrible
Команда форума
Dreamer76
туда, где должно стоять слово checked
неужели ты сам этого не понимаешь?

ты вообще, как вставлять пхп в хтмл - в курсе?
 

Dreamer76

Through thorns
<input type="checkbox" name="chel[]" value="name1">name1
<input type="checkbox" name="chel[]" value="name2">name2
<input type="checkbox" name="chel[]" value="name3">name3

Отправляем.

Обработка:

$rr = join( ', ', $chel );
$sql = "INSERT INTO zapros (.. chel..) VALUES (..$rr..)";

В ячейке:

name1, name2, name3

-~{}~ 10.06.04 15:24:

Originally posted by Фанат
Dreamer76
туда, где должно стоять слово checked
неужели ты сам этого не понимаешь?

ты вообще, как вставлять пхп в хтмл - в курсе?
Привет Фанат!
Я скучал!

Щас попробую.
 

Demiurg

Guest
а если у тебя в имени окажется запятая ?
 

Dreamer76

Through thorns
[?
if($chel == 'Имя1') {
echo "<input type=checkbox name=chel[] value='Имя1' checked>Имя1<br>";
} else {
echo "<input type=checkbox name=chel[] value='Имя1'>Имя1<br>";
}
?]

так?
 

Фанат

oncle terrible
Команда форума
эх....

if($chel == 'Имя1') $c="checked"; else $c="";
?>
<input type=checkbox name=chel[] value='Имя1' <?=$c?>>Имя1<br>
 

korvin0

моська
Если бы бедного Фаната все благодарные поили пивом, то он бы спился за неделю-две :)
 

Фанат

oncle terrible
Команда форума
а никто и не обещал.
я тебе не готовый код писал, а принцип показывал.
принцип понятен?
наверняка.
а не работает наверняка потому, что у тебя переменная какая-нибудь не поеределена, или опечатка.
дальше уж сам
 

Dreamer76

Through thorns
<input type="Hidden" name="chel" value="<?print($row['chel']);?>">

<?
if($chel == 'Имя1') $c="checked"; else $c="";
?>
<input type=checkbox name=chel[] value='Имя1' <?=$c?>>Имя1<br>


И вот это не работает. Не checked почему-то.
Хотя то, что в БД есть "Имя1" - 100%
 

Dreamer76

Through thorns
Originally posted by Фанат
вот это -

ЧТО ТАКОЕ?
откуда взялось?
какой смысл этого?

что ты здесь сравниваешь?
то слева, а что справа?
а что должно быть?
//берется из БД текущее значение поля chel, которое будет отправляться потом в БД в случае изменения
<input type="Hidden" name="chel" value="<?print($row['chel']);?>">


//сравнивается
<?
if($chel == 'Имя1') $c="checked"; else $c="";
?>

// если переменная chel включает в себя слово "Имя1", то $c - checked, если нет, то соотв. ""

// выводится форма checkbox
<input type=checkbox name=chel[] value='Имя1' <?=$c?>>Имя1<br>
 

Фанат

oncle terrible
Команда форума
я тебя не спрашивал за весь твой код.
я спросил строго за маленький кусочек
почему у тебя выше пишется $row['chel'], а ниже - $chel ?

и вообще!
читай http://phpfaq.ru/debug И учись такие детские ошибки искать сам.
 

Dreamer76

Through thorns
Заработало. Спасибо !!!
Разбил на блоки и начал от конца.

-~{}~ 10.06.04 18:58:

А если они у меня в 1 ячейке через запятую идут? Как их "раскидать" по checkbox'ам?
 
Сверху