Как сохранить несколько значений из флажков в базу данных с помощью php - PullRequest
0 голосов
/ 25 ноября 2011

Я пытаюсь сохранить несколько значений в базе данных.

Вот что я делаю;У меня есть таблица с именем location, в которой есть id и locationName, я получаю все значения местоположений из базы данных и отображаю их в форме, чтобы пользователь мог выбрать несколько местоположений.

<input type="checkbox" size="40" name="location[]" value="'.$location[$j]["id"].'" />'

Теперь любой может сказать мнеКакое решение будет лучшим для сохранения его в базе данных?

Должен ли я создать поле для каждого местоположения в таблице или будет работать одно поле?

Мне также нужно что-то, что может помочь мнесделайте лучший поиск, для которого мне не нужно писать слишком много кода.

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

Я недавно сделал это, просто взяв массив, который вы получаете в $_POST['location'], и взорвав его, используя implode(',', $_POST['location']).

Это даст вам строку, которую вы можете легко сохранить в одном поле в базе данных. Позже, когда вы получите данные, взорвите их снова, чтобы получить массив.

0 голосов
/ 25 ноября 2011

Два простых способа избавиться от макушки головы.

Вы можете создать таблицу связывания «многие ко многим», которая будет связывать первичный ключ пользователя и первичный ключ местоположения.

Другой вариант - поместить их все в одно поле в пользовательской таблице, используя json_encode() или serialize(), чтобы разобрать массив $_POST['location'] в машиночитаемую строковую форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...