X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Установить checkbox
buisnesmen
buisnesmen
Topic Starter сообщение 10.7.2014, 20:48; Ответить: buisnesmen
Сообщение #1


Всем привет. Подскажите, пожалуйста как установить checkbox из БД.
В БД есть запись "1,3,5".
Не могу немного додумать, как выделить 1, 3 и 5 боксы.
Думаю, что нужно сделать через array_in, но вообще не понимаю как.
[PHP]
$adv = $row['advantage'];
//$adv = explode(",", $row['advantage']);
$advantage = array(
'1'=>'Установка и монтаж',
'2'=>'Защита двигателя',
'3'=>'Регулирование скорости',
'4'=>'Низкое электропотребление',
'5'=>'Низкий шум'
);
foreach ($advantage as $key=>$val) {
$selected = ($key == $adv) ? 'checked' : '';
$adv_form.= '<div class="checkbox"><input type="checkbox" name="avantage" value="'.$key.'" '.$selected.'>'.$val.'</div>';
}
[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 10.7.2014, 23:17; Ответить: MetSerp
Сообщение #2


если я правильно понял задачу то к вашим услугам in_array() она возвращает true если в массиве есть переданое значение и false если нет
то есть вам надо где то держать массив чекнутых ключей и при построении проверять есть ли в нем текущий чекбокс
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
buisnesmen
buisnesmen
Topic Starter сообщение 11.7.2014, 22:18; Ответить: buisnesmen
Сообщение #3


(MetSerp @ 11.7.2014, 02:17) *
если я правильно понял задачу то к вашим услугам in_array() она возвращает true если в массиве есть переданое значение и false если нет
то есть вам надо где то держать массив чекнутых ключей и при построении проверять есть ли в нем текущий чекбокс


Да вот и я о том же думаю. Только не могу понять как написать код.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 11.7.2014, 23:16; Ответить: Den1xxx
Сообщение #4


[PHP]$advantage = array(
'1'=>array('name'=>'Установка и монтаж','checked'=>'true'),
'2'=>array('name'=>'Защита двигателя','checked'=>'false'),
'3'=>array('name'=>'Регулирование скорости','checked'=>'true'),
'4'=>array('name'=>'Низкое электропотребление','checked'=>'false'),
'5'=>array('name'=>'Низкий шум','checked'=>'true')
); [/PHP]


[PHP]$selected = ($val['checked'] == 'true') ? 'checked' : '';[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
buisnesmen
buisnesmen
Topic Starter сообщение 12.7.2014, 15:00; Ответить: buisnesmen
Сообщение #5


(Den1xxx @ 12.7.2014, 02:16) *
[PHP]$advantage = array(
'1'=>array('name'=>'Установка и монтаж','checked'=>'true'),
'2'=>array('name'=>'Защита двигателя','checked'=>'false'),
'3'=>array('name'=>'Регулирование скорости','checked'=>'true'),
'4'=>array('name'=>'Низкое электропотребление','checked'=>'false'),
'5'=>array('name'=>'Низкий шум','checked'=>'true')
); [/PHP]


[PHP]$selected = ($val['checked'] == 'true') ? 'checked' : '';[/PHP]


Спасибо. Но возник вопрос, а как сделать в такой ситуации?
[PHP]
$adv = $row['advantage'];
$q = mysql_query("SELECT * FROM `advantage`");
while ($r = mysql_fetch_assoc($q)) {
$rid = $r[id];
if (in_array($rid, $adv)) {
$checked = "checked";
}
echo "<div class='checkbox_p'><input type='checkbox' name='advantage' value='$r[id]' $checked>$r[name]</div>";
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 12.7.2014, 18:53; Ответить: Den1xxx
Сообщение #6


(buisnesmen @ 12.7.2014, 18:00) *
Спасибо. Но возник вопрос, а как сделать в такой ситуации?

Бросать всё и идти пить пиво.
Не, если серъёзно, неужели не сообразите, что в БД надо поле добавить, допустим «selected»?
И потом примерно так:
SELECT * FROM `advantage` where `selected`='true'

Ну или запоминать состояние переключателей в куках — я не знаю что там у Вас предпочтительней;)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Установить Anbox в Linux
0 freeax 525 8.3.2024, 19:36
автор: freeax
Открытая тема (нет новых ответов) Установить тему на buddypress с демо данными
1 TABAK 1258 25.5.2023, 0:13
автор: TABAK
Открытая тема (нет новых ответов) Установить Wordpress + iBid шаблон
0 wep 4280 23.11.2021, 13:54
автор: wep
Открытая тема (нет новых ответов) Как установить рекламу партнёрки на сайт.
4 Алексей111 1565 26.8.2020, 15:05
автор: Oliv20
Открытая тема (нет новых ответов) Установить и настроить сайт на DLE
нужен определенный шаблон
3 Reactive 2287 19.6.2020, 11:10
автор: Reactive


 



RSS Текстовая версия Сейчас: 29.3.2024, 13:10
Дизайн