Как отправить ВСЕ выбранные значения select option value php mysql?
Как отправить ВСЕ выбранные значения select option value php mysql? Код формы:
<div class="col-12 col-lg-6">
<select class="js-example-basic-multiple" id="genre" multiple="multiple" name="genre">
<option value="Боевик">Боевик</option>
<option value="Драма">Драма</option>
<option value="Детектив">Детектив</option>
<option value="Комедия">Комедия</option>
<option value="Криминал">Криминал</option>
<option value="Мелодрама">Мелодрама</option>
<option value="Мультфильм">Мультфильм</option>
<option value="На реальных событиях">На реальных событиях</option>
<option value="Приключения">Приключения</option>
<option value="Триллер">Триллер</option>
<option value="Ужасы">Ужасы</option>
<option value="Фантастика">Фантастика</option>
</select>
</div>
Вот сама переменная $gfilm = $_POST['genre'];
В БАЗЕ данных отправляется лишь одно значение, последнее. Сам код запроса
mysqli_query($link, "INSERT INTO singles ('genre') VALUES ('$gfilm')"
Ответы (1 шт):
Автор решения: Simon
→ Ссылка
Нужно всего лишь указать что name="genre" это массив name="genre[]":
<div class="col-12 col-lg-6">
<select class="js-example-basic-multiple" id="genre" multiple="multiple" name="genre[]">
...
</select>
</div>
Вы можете преобразовать массив в строку используя одну из функций: json_encode(), implode() или serialize().
$gfilm = $_POST['genre'];
$gfilm_string = serialize($gfilm); // Здесь используйте подходящий Вам вариант `json_encode()`, `implode()` или `serialize()`
$query = sprintf("INSERT INTO singles ('genre') VALUE ('%s')", mysqli_real_escape_string($link, $gfilm_string));
mysqli_query($link, $query);