У меня есть форма для заполнения, которая имеет несколько входных полей и 20 флажок. Мой вопрос заключается в том, как организовать записи выбранного флажка в mysql и каков наилучший способ их поиска с помощью php. Можете ли вы привести мне пример?Хранить данные в MySQL
ответ
Вы можете использовать одно поле BIGINT, позволяя каждому биту представлять собой одну из характеристик свойства.
Допустим, вы определяете свойства следующим образом
1 = furnished (000001b)
2 = with garage (000010b)
4 = new construction (000100b)
8 = ... (001000b)
16 = ..... (010000b)
Таким образом, если первый бит поле является 1, что означает, что имущество обставлена, если третий бит равен 1, то это новое строительство, и так на.
Вы можете использовать операторы побитового для проверки каждой характеристики, т.е.
SELECT * FROM property WHERE characterization & 2
возвратит свойства с гаражом. Точно так же
SELECT * FROM property WHERE characterization & 5
будет возвращать свойства, новые конструкции и также оборудованы (эх .. ну, вы поняли идею :-)).
Имейте в виду, что BIGINT имеет 64 бита, поэтому вы не можете иметь более 64 различных характеристик в одном и том же поле.
Если они не в разных группах, но есть много вариантов, вы можете сохранить их в такой строке: option1: yes | option2: no | .... и вы можете легко запросить различные параметры, такие как опция WHERE LIKE ' % | option1: yes |% ', или что-то в этом роде.
Можете ли вы привести несколько примеров поиска? – Peter
Что вы хотите найти? Как я уже сказал, если вы ищете определенную опцию, просто добавьте опцию WHERE LIKE '% | option1: yes |%' к вашему запросу, где опция - столбец таблицы, а параметр 1 - тот, который вы ищете. –
очень неэффективный способ. получение значений с помощью LIKE «% ...%» очень медленное, и такого сценария следует избегать и использовать только в особых случаях. – Markus
MySQL - это реляционная база данных, поэтому зачем хранить все эти строки?
А что-то вроде этого:
Пусть ваши флажков расположены горизонтально. Поэтому достаточно интуитивно относиться к ним в базе данных. Скажем, ваши формы похожи на:
Какую пищу вам больше всего нравится?
O Pizza O Паста O Суши O Салат
Предположим, кто-то любит все, кроме Sushi.Someone еще может только как суши
Так что ваша таблица результатов в базе данных может выглядеть следующим образом:
id(PK) user question col answer
1 someone 1 1 1
2 someone 1 2 1
3 someone 1 3 0
4 someone 1 4 1
5 someoneelse 1 3 1
Где ответ - это некоторый флаг, который равен 1, если флажок установлен, и равен 0, если нет.
Я просто догадываюсь, что вы имеете в виду, как и все, поэтому, может быть, я смогу дать лучший ответ, если вы попробуете немного точнее.
+1: жизнеспособный, эффективный и расширяемый подход – symcbean
- 1. MySQL/Хранить учетные данные MySQL
- 2. хранить двоичные данные mysql
- 3. Хранить огромные данные в MySQL?
- 4. Хранить XML-данные в MySQL
- 5. Хранить данные mysql в массиве
- 6. Хранить данные после запроса mysql
- 7. Хранить переменную, которая содержит данные в Mysql?
- 8. Tinymce, php не хранить данные в mysql
- 9. Как безопасно хранить данные HTML в MySQL?
- 10. Хранить данные JSON в таблице MySQL
- 11. хранить данные, упорядоченные по строке в mysql?
- 12. как хранить данные в mysql с php
- 13. Как хранить данные в базе данных mysql?
- 14. Как хранить данные в базе данных MySQL?
- 15. Как хранить данные в базе данных MySql?
- 16. Как хранить данные div в Mysql db?
- 17. Хранить данные в mysql (data-migration)
- 18. хранить данные в mysql с помощью sails.js
- 19. Как хранить зашифрованные данные в mySQL
- 20. Хранить мс данные слова в mysql
- 21. Хранить «чувствительные» данные в MySQL DB
- 22. Как хранить двоичные данные в MySQL
- 23. Как хранить данные, содержащие кавычки в MySQL
- 24. Как хранить данные MySQL в формате .JSON?
- 25. Я не могу хранить данные в MySQL
- 26. Как хранить данные gujarati на сервере mysql?
- 27. Хранить данные для песен MySQL DB
- 28. Как хранить данные json для mysql
- 29. базы данных MySQL, как хранить контактные данные
- 30. как хранить данные соединения mysql безопасно?
Подробнее, пожалуйста. Как часто выбираются эти флажки? Для чего они нужны? Связаны ли они с другими полями ввода? Сколько записей будет храниться в вашей таблице? – joni
Не могли бы вы дать более подробную информацию? Являются ли эти флажки динамическими? То есть сама форма выходит из базы данных? – Nigel
Может ли _you_ указать _us_ пример кода, который вы пытаетесь сделать? – lbedogni