2016-09-14 1 views
-3

Как я могу сохранить несколько флажок, чтобы MySQL в PHP и то, что является лучшим способом для его таблицы она должна быть в другом столбце или в одной колонке с другим идентификаторомКак я могу сохранить несколько флажок, чтобы MySQL в PHP

+0

Это не служба написания кода. Что вы пробовали до сих пор? Отправьте свой код! Что случилось, когда вы его запустили? Что вы ожидали вместо этого? С чем конкретно вы сталкиваетесь? – Robert

+0

Я бы предложил хранить данные в отдельных столбцах, это зависит от того, меняется ли количество флажков, и если вы хотите выполнить поиск по этим данным. Вы можете поместить их в список, разделенный запятыми (или даже формат Json), но это сделает почти невозможным поиск по данным. Еще одним сложным (но более гибким) способом является сохранение их в отдельной таблице в качестве набора ключевых значений. На самом деле самое главное в любой базе данных - как вы будете использовать данные, т.е. как вы будете искать на нем. – ArtisticPhoenix

+0

Если вы идете с разделенным запятыми списком и одним столбцом, я бы предложил добавить переднюю и конечную запятую, такие как ', 1,2,12,'. Причиной этого является поиск с помощью 'LIKE '% 1%'', который будет соответствовать '1' или' 12'. добавив ведущую и конечную запятую, которые вы можете искать с разделителями, такими как 'LIKE '%, 1,%'', которые позволят избежать некоторой гадости. Еще один пример: у вас есть '12,67, hello', и вы хотите искать' 1', теперь он будет соответствовать этому полю, используя только 'LIKE '% 1%'', который, вероятно, не тот, который вы хотите. Вы можете обрезать их с помощью 'trim ($ field, ',')' в PHP – ArtisticPhoenix

ответ

1

Вы вопрос не ясно, но то, что я понимаю, что вы можете сделать, как этот

<input type="checkbox" name="multi-checkbox[]" value="value1"> 
<input type="checkbox" name="multi-checkbox[]" value="value2"> 
<input type="checkbox" name="multi-checkbox[]" value="value3"> 

Обратите внимание на мульти-флажок [], [] скобки считаются массивом в PHP, поэтому, когда вы запрашиваете значение поста для мульти-флажка [ ], используя $ _POST ['multi-checkbox], вы получите массив.

О столбцах таблицы в базе данных вы можете использовать только один столбец для хранения массива.

+0

Вам нужно json закодировать его, сериализовать или использовать 'implode (',', $ field)', это не самая лучшая практика, потому что это может усложнить поиск, но это можно сделать. Однако вы не можете просто сохранить массив в поле БД. – ArtisticPhoenix

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