2009-10-09 1 views
1

У меня есть 3 флажка, где пользователь может выбрать все, что захочет. Я хотел бы сохранить его выбор в базе данных в одном поле.Кодировать выбранные поля из 3 флажков в одну строку

Я думал, кодирующий его в строку:

0: Ничего не выбран
100: первый выбранный
101: первый & третьего выбранного
и т.д.

Я думаю, это хороший способ. Однако как я могу извлечь информацию снова? Используя substr(), чтобы получить каждое состояние флажка?

Есть ли лучший способ кодирования/декодирования этой информации?

Большое спасибо
Martin

ответ

2

Упаковка информации в одном поле базы данных, как это делает запросы сложно. Вам действительно нужно упаковать три флажка в одно поле? Почему не три булевых поля?

Если это действительно должно быть одно поле, то зачем строки? 8-битный int будет достаточно большим, чтобы удерживать до 8 состояний флажка.

Смежные вопросы