Проблема занесения строк в базу

Здравствуйте есть таблица в базе где я собираюсь хранить все жанры к определенному сериалу но есть проблема, я собираюсь сделать внос в базу данных сразу из сайта для этого я использую select multiple, логично что жанров для сериала больше одного и они все сохранены в int т.е values у каждого жанра это определенная цифра и в таблице жанры тоже должны сохранятся в int "Это я сделал для поиска по жанрам на сайте", ну так вот, я столкнулся с проблемой как же заносить жанры в таблицу так чтобы каждый новый жанр это новая строка в базе? просто если напрямую заносить в базу жанры то сохранятся там будет только последний выбранный жанр, подскажите пожалуйста как это можно реализовать? может использовать while "Я еще не пробовал", вот код -

$janr = FormChars($_POST['janr']);//Проверка на вредоносные символы и только
mysqli_query($CONNECTDB, "INSERT INTO `janrs` ( `jid`, `tid`) VALUES ($janr, Айди сериала тут)");

это html "select"

<select name="janr" id="janr" class="chosen-select" multiple data-placeholder="жанры"><option value="1">
                Альтернативная история
            </option>
            <option value="2">
                Альтернативная реальность
            </option>
            <option value="3">
                Ангелы
            </option>
            <option value="4">
                Андроиды
            </option>
            <option value="5">
                Антивойна
            </option>
            <option value="6">
                Антиутопия
            </option>
            <option value="7">
                Баскетбол
            </option>
            <option value="8">
                Безумие
            </option>
            <option value="9">
                Бисёнэн
            </option>
            <option value="10">
                Боевые искусства
            </option>
            <!--И т.д-->
</select>

Ответы (2 шт):

Автор решения: mepihindeveloper

В переменной с ключом $_POST['janr'] скорее всего хранится массив данных. Логично сделать цикл перебора, как указали вам в комментариях.

Вы можете написать примерно такой цикл:

foreach ($_POST['janr'] as $janr) {
mysqli_query($CONNECTDB, "INSERT INTO `janrs` ( `jid`, `tid`) VALUES ($janr, Айди сериала тут)");
}

Возможно я ошибаюсь в структуре, поэтому укажите что хранится в $_POST['janr'] и результат выполнения метода FormChars($_POST['janr']) для более точного ответа.

→ Ссылка
Автор решения: kevin

Если Вы используете select multiple с PHP, то стоит в таком случае немного изменить атрибут "name", а именно

<select name="janr[]" id="janr" class="chosen-select" multiple data-placeholder="жанры"><option value="1">
...

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

$janrs = $_POST['janr'];
foreach ($janrs as $janr) {
    $jId = (int)$janr; // Поскольку айдишки в селекте это цифры, то лучше преобразовать их в цифры, и скорее всего в таблице данное поле типа INT
    $fid = Айди сериала;
    mysqli_query($CONNECTDB, "INSERT INTO `janrs` (`jid`, `tid`) VALUES ($jId, $fid)");
}
→ Ссылка