Пролема с переменной вне цикла foreach

271
11 мая 2022, 16:00

всем доброго времени суток. Столкнулся с проблемой которую не могу решить без помощи(поверьте я пытался) Сама проблема:

Существует страница с Эпизодами внутри сезонов... Кнопки добавления сезона и эпизодов открывают модальные окна с формами в которые я вписываю необходимые мне значения, проблема в том что я не могу получить одинаковые значения переменных $season_one['id'] Обратите внимания на функции var_dump ($season_one['id']); Одна находится в переборе между foreach а другая в том же переборе но в модальном окне... Проблема в том что первая var_dump показывает правильный season_num['id'] ,а вторая показывает всегда season_num['id'] первого сезона... Перефразирую: к примеру первая var_dump выводит 1 2 3 4 , а вторая var_dump выводит 1 1 1 1. Я дико извиняюсь если я не смог донести свою проблему правильно но может кто-то все же сумеет меня понять. Вот весь код полностью:

<?php
    function get_season_all() { //Функция вытягивания всех сезонов
        global $db;
        $season = $db->query(
        "SELECT * FROM `season` 
        WHERE `serials_id` = '$_GET[id]'
        ORDER BY season_num");
        return $season;
    }
?>
<div id="modal_add_season" class="modal fade"> <!--Модальное окно добавления сезона.-->
    <div class="modal-dialog modal-lg modal-dialog-centered">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Добавить сезон:</h4>
            </div>
            <div class="modal-body">
                <form method="POST">
                    <input type="text" class="form-control" name="season_num" placeholder="Номер сезона:"> <br>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
                    <button type="submit" class="btn btn-primary" name="add_season">Сохранить изменения</button>
                    <?php       
                    if( isset($_POST['add_season']) ) {
                            $season = R::dispense('season');
                            $season->serials_id = $_GET['id'];
                            $season->season_num = $_POST['season_num'];
                            R::store($season);
                        }
                    ?>
                </form>
            </div>
        </div>
    </div>
</div>


<div role="tabpanel" class="tab-pane active" id="tab_episode_list">
    <a href="javascript: void (0)" class="add_season btn btn-primary">Добавить сезон</a> <!--Кнопка вызова модального окна добавления сезона.-->
    <?php
        $season = get_season_all();
        foreach ($season as $season_one):
    ?>
    
    <div class="container season clickable">
        <H3 data-toggle="collapse" data-target="#accordion_<?=$season_one['season_num']?>"><?=$season_one['season_num']?> Сезон</H3>
        <? 
            var_dump ($season_one['id']); 
        ?>
        <div class="collapse" id="accordion_<?=$season_one['season_num']?>">
            <table class="table table-sm table-striped table-hover table-responsive-sm">
                <thead class="thead-dark">
                    <th scope="col">Код серии</th>
                    <th scope="col">Название серии</th>
                    <th scope="col">Дата выхода</th>
                    <th scope="col">Озвучки</th>
                    <th scope="col">Добавить в просмотренное</th>
                </thead>
                <tbody>
                    <tr>
                        <td><?=$episodes_one['episodes_num']?></td>
                        <td><?=$episodes_one['episodes_name_rus']?></td>
                        <td><?=$episodes_one['episodes_name_eng']?></td>
                        <td>Дополнительное поле</td>
                        <td>Дополнительное поле</td>
                    </tr>
                </tbody>
            </table>
            
            <a href="javascript:void(0)" class="add_episodes btn btn-primary">Добавить эпизод</a> <!--Кнопка вызова модального окна добавления эпизода.-->
        </div>
    </div>
    
<div id="modal_add_episodes" class="modal fade"> <!--Модальное окно добавления эпизода.-->
    <div class="modal-dialog modal-lg modal-dialog-centered">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Добавить эпизод в # Сезон:</h4>
            </div>
            <div class="modal-body">
                <form method="POST">
                    <?
                        var_dump ($season_one['id']); 
                    ?>
                    <input type="text" class="form-control" name="episodes_num" placeholder="Номер эпизода:"> <br>
                    <input type="text" class="form-control" name="episodes_name_rus" placeholder="Название эпизода на русском"> <br>
                    <input type="text" class="form-control" name="episodes_name_eng" placeholder="Название эпизода на английском"> <br>
                    <input type="text" class="form-control" name="release_date" placeholder="Дата выхода серии"> <br>
                    <input type="text" class="form-control" name="voice_acting" placeholder="Озвучки"> <br>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
                    <button type="submit" class="btn btn-primary" name="add_episodes">Сохранить изменения</button>
                    <?php
                    if( isset($_POST['add_episodes']) ) {
                            $episodes = R::dispense('episodes');
                            $episodes->season_id =  
                            $episodes->episodes_num = $_POST['episodes_num'];
                            $episodes->episodes_name_rus = $_POST['episodes_name_rus'];
                            $episodes->episodes_name_eng = $_POST['episodes_name_eng'];
                            R::store($episodes);
                        }
                    ?>
                </form>
            </div>
        </div>
    </div>
</div>
    
    
    <?php endforeach; ?>
</div>

<script>
    $(document).ready(function(){
      //при нажатию на кнопку, имеющую name="add_season"
      $(".add_season").click(function() {
        //открыть модальное окно с id="modal_add_season"
        $("#modal_add_season").modal('show');
      });
    });
    $(document).ready(function(){
      //при нажатию на кнопку, имеющую name="add_episodes"
      $(".add_episodes").click(function() {
        //открыть модальное окно с id="modal_add_episodes"
        $("#modal_add_episodes").modal('show');
      });
    });
</script>

READ ALSO
Как правильно сохранить несколько товаров через foreach, attach, sync (laravel)?

Как правильно сохранить несколько товаров через foreach, attach, sync (laravel)?

Всем привет! Учусь, учусь и еще раз учусь)) Есть 3 таблицы

166
Доступ к БД сайта

Доступ к БД сайта

Каким образом можно подключиться к БД сайта без указания пароля? ($mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);, $db_pass) (пользователю не должно быть видно...

240
Создание элемента с масштабируемостью WPF

Создание элемента с масштабируемостью WPF

У меня не получается создать пользовательский элемент который будет авто масштабировать в таблице (grid)Результат которого я хочу добиться...

168
Как дублировать положение объекта?

Как дублировать положение объекта?

У меня есть 2 объекта один статичный другой подвижныйНужно чтобы статичный объект повторял положение подвижного

316