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 :: Yii множественные чекбоксы?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Yii
doomunit
Отправлено: 24 Февраля, 2015 - 17:14:26
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




есть такая задача - записать битовую маску в базу.
то есть имеем
ротор, статор, мотор
+ - +
запишется
101
при
ротор, статор, мотор
+ + -
запишется
110

думаю идея ясна.
как это реализовать? дощел пока до такого

PHP:
скопировать код в буфер обмена
  1. <?PHP echo $form->checkBox($model,'estado',  array('checked'=>'checked')); ?>




но как это увязать с формой ввода?

PHP:
скопировать код в буфер обмена
  1. <div class="row">
  2.         <?PHP echo $form->labelEx($model,'m_complect'); ?>
  3.         <?PHP echo $form->textField($model,'m_complect',array('size'=>11,'maxlength'=>11)); ?>
  4.         <?PHP echo $form->error($model,'m_complect'); ?>
  5.     </div>
 
 Top
RickMan
Отправлено: 24 Февраля, 2015 - 17:34:18
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Создай в модели 3 переменные (которые будут в модели но не будут в БД и которые будут представлять твои эти элементы битовой маски). Дальше проблема, что эти 3 поля нужно соединить в 1, перед валидацией и сохранением в БД - для этого исполььзуй метод beforeValidate (если не валидируешь то beforeSave) и в этом действии обьединяй 3 поля коотрые есть в модели, в 1 поле которое есть в БД. И при вытаскивании тебе надо это 1 поле разбить на 3, для этого используй afterFind.

(Отредактировано автором: 24 Февраля, 2015 - 17:34:37)

 
 Top
doomunit
Отправлено: 24 Февраля, 2015 - 18:08:57
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




трабла в том что полей не 3, а 10 и может их число увеличиваться. думаю в сторону checkboxlist. в listdata вгружать данные из связанной таблицы. также из данныз базы 101010 указывать какие чекбоксы чекнуты. но вот как вбить в базу данные? думаю про hiddenText .= model->m_sector.
поправьте как правильней и проще сделать
 
 Top
RickMan
Отправлено: 25 Февраля, 2015 - 08:59:03
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Я вам дал решение. 3 поля, или 10, хранится в таблице или в поле - совсем не имеет значение. Смотрите на действия afterFind, beforeValidate, beforeSave и так далее. Логику свою подминайте под эту возможность.
 
 Top
des1roer
Отправлено: 25 Февраля, 2015 - 10:56:27
Post Id



Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB