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 :: Как хранить 32 поля

 PHP.SU

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


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

> Без описания
pantela
Отправлено: 25 Апреля, 2016 - 18:36:30
Post Id



Частый посетитель


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


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




В форме имею 32 checkbox полей, как хранить в таблице БД? создавать для каждого поля отмельное поле напр. tinyint(1), или в одно поле виде массива хранить?
Если виде массива, подскажите как сделать explode/implode

Нажмите для увеличения
 
 Top
Viper
Отправлено: 25 Апреля, 2016 - 19:07:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




pantela пишет:
В форме имею 32 checkbox полей, как хранить в таблице БД? создавать для каждого поля отмельное поле напр. tinyint(1), или в одно поле виде массива хранить?
Если виде массива, подскажите как сделать explode/implode
будет 100 параметров, тоже будете 100 столбцов городить? Почитайте про таблицы связей. Что это и с чем едят. Не обязательно логику связей реализовывать средствами БД.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
pantela
Отправлено: 25 Апреля, 2016 - 20:37:46
Post Id



Частый посетитель


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


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




Читаю
(Добавление)
Ну один вариант ещё думал создать доп. таблицу и там перечислять у какой записи какие параметры и через JOIN связать... но не хочу тупо заводить эту таблицу для JOIN...

Но понимаю что вариант перечисления тоже не верный... Поэтому задал вопрос про одно поле с перечислением виде массива...

(Отредактировано автором: 25 Апреля, 2016 - 20:38:01)

 
 Top
OrmaJever Модератор
Отправлено: 25 Апреля, 2016 - 21:08:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




pantela пишет:
В форме имею 32 checkbox полей

вы наверное не поверите, но в ОДНОМ инт(4) поле можно хранить значение 32 чекбоксов Улыбка


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Viper
Отправлено: 25 Апреля, 2016 - 21:32:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




OrmaJever пишет:
вы наверное не поверите, но в ОДНОМ инт(4) поле можно хранить значение 32 чекбоксов
я по началу тоже хранил перечисляемые данные в одном поле, ровно до того момента когда потребовался поиск по ним и использование единичных данных из этого поля в выборках.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
OrmaJever Модератор
Отправлено: 25 Апреля, 2016 - 21:40:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Viper
Отправлено: 25 Апреля, 2016 - 23:40:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




OrmaJever пишет:
и в чем проблема?
зубы через жопу?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
OrmaJever Модератор
Отправлено: 26 Апреля, 2016 - 11:14:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Viper твои предложения? Отдельная таблица и для каждого пользователя 32 записи?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Contr
Отправлено: 26 Апреля, 2016 - 11:15:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011  
Откуда: с Марса


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




pantela,

попробуйте тип данных JSON и храните данные так:

["TRUE","FALSE","TRUE"] или
[1,0,1] или
[{"0":"TRUE","1":"FALSE","0":"TRUE"}]
 
 Top
pantela
Отправлено: 26 Апреля, 2016 - 11:37:59
Post Id



Частый посетитель


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


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




Поиск по этим полям на данный момент не требуеться..

И я о том-же... хранить данные виде JSON, но как сохранять и потом выводить вот думаю...
 
 Top
Dastor
Отправлено: 26 Апреля, 2016 - 11:44:05
Post Id


Гость


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


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




В битовой маске удобно хранить значения чекбоксов. Но если их немного.
Получается, что 32 чекбокс будет иметь значение 2^32. В хексе 100000000.
Или я не правильно понимаю?
 
 Top
caballero
Отправлено: 26 Апреля, 2016 - 11:49:05
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




сериализуй массив в строку и все дела

шо за проблемы на ровном месте


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
pantela
Отправлено: 26 Апреля, 2016 - 14:15:38
Post Id



Частый посетитель


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


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




[quote=caballero][/quote] Да, но я не знаю как... т.е. грубо сказать я с формы беру все значения впихиваю их JSON массив в таблицу поля (тип text) напр. виде
PHP:
скопировать код в буфер обмена
  1. [{
  2.         "bed":"1",
  3.         "garaj":"0",
  4.         "pechka":"1",
  5.         "utug":"1",
  6.         "tv":"0",
  7.         "internet":"0",
  8.         "kondicioner":"1"
  9. }]

(Отредактировано автором: 04 Мая, 2016 - 13:37:17)

 
 Top
caballero
Отправлено: 26 Апреля, 2016 - 15:29:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




проще сложить в обычный массив и сериализовать
обычной функцией serialize()
даже не представляю чего там можно не знать


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
IllusionMH
Отправлено: 26 Апреля, 2016 - 15:29:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




pantela пишет:
Поиск по этим полям на данный момент не требуеться..

pantela, этот как всегда пока, а потом собираетесь регуляркой выискивать ключи?
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB