Как отправить ВСЕ выбранные значения 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);
→ Ссылка