Есть таблица Фильмов,Актеров и таблица соединяющая ид фильма и ид актера. Есть разметка.
echo '<div class="actors-wrap">';
foreach ($adminActors as $actor) {
echo '<div class="genre-name">';
echo '<input class="option-input checkbox" type="checkbox" name="actor[]" value="'.$actor['id_actors'].'">';
echo '<span class="text"> '.$actor['firstName'].'</span>.';
echo '</div>';
}
echo '</div>';
получаю активные чекбоксы
$actors = $_POST['actor'];
получаю ид актеров кто снимался в фильме (который надо будет изменит потом)
$sqlActors = "SELECT * FROM film_actors WHERE film_actors.`id_film`=" . $id;
Собственно запрос где я изменяю на нужных мне актеров
foreach ($actors as $actor) {
$sglA="UPDATE `film_actors` SET `id_actor` = $actor WHERE `id_film` =". $id;
$item = $dataBase->executeRun($sglA);
}
Но проблема в том что, если актеров несколько например два, и изменить надо двое актеров то , эти два поля актеров хранят в себе два одинаковых актера. последний просто дублируется 2 раза один последний актер.
Надеюсь понятно разложил )
Вы же своим запросом обновляете все записи в бд в которых id_film = $id
Не по одной записи, а все. Соответственно последнее значение из массива $actors и будет значением для всех записей. Вам скорее тут скорее нужно либо менять конкретных актеров на других, То-есть:
$sglA="UPDATE `film_actors` SET `id_actor` = $actor
WHERE `id_actor` = $oldActorId
AND `id_film` =". $id;
а лучше либо удалять записи и новые создавать.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, как ограничить количество строк таблицы, выводимых циклом foreach из БД sqlite на страницу? Нужно выводить не более 500 строка в БД их 10 тысяч