модальная переменная кнопки редактирования crud не определена

#php #html #mysqli #crud

#php #HTML #mysqli #crud

Вопрос:

Я создаю свое первое php-приложение и сталкиваюсь с проблемой о том, как я должен попытаться отредактировать запись sql. Я планировал попытаться открыть модальное окно для редактирования.

Когда я выбираю ссылку редактировать, чтобы открыть модальное окно, переменная сообщает, что она не определена. Я думаю, это потому, что модальная и переменная добавляются в DOM до того, как я нажимаю ссылку для редактирования, и переменная никогда не устанавливается. Как мне обойти это?

 <?php            

$sql = "SELECT id, image, name, score, points FROM teams";
$result = mysqli_query($conn, $sql);

if(mysqli_num_rows($result) > 0) {



    while($row = mysqli_fetch_assoc($result)){
        $teams_id = $row["id"];
        $teams_image = $row["image"];
        $teams_name = $row["name"];
        $teams_score = $row["score"];
        $teams_points = $row["points"];

    //    echo "id: " . $teams_id . " image path: " . $teams_image . " name: " . $teams_name . " score " . $teams_score . " points " . $teams_points . "</br>"; 
        echo "<div class='row'>";
        echo "<div class='row oval'>";
        echo "<div class='col-4 flag {$teams_image}'>";
        echo "</div>";
        echo "<div class='col-8 text'>";
        echo "<p>{$teams_name}</p>";
        echo "</div>";
        echo "</div>";


        // edit and delete button 
        echo "<a href='add_teams_working.php?edit={$teams_id}' class='btn btn-outline-light btn-sm ml-4 align-self-center' data-toggle='modal' data-target='#editModal'>edit</a>";
        echo "<button class='btn btn-outline-light btn-sm ml-1 align-self-center'>delete</button>";
        echo "</div>";

    } 
}else {
    echo "No teams added yet";
}
?>   




<!-- SET VARIABLE for MODAL  -->

<?php 
if(isset($_GET['edit'])) {
    $edit_id = $_GET['edit'];



    $query = "SELECT * FROM teams WHERE id = $edit_id ";
    $select_team = mysqli_query($conn, $query);

    while($row = mysqli_fetch_assoc($select_team)) {
        $edit_id = $row['id'];
        $edit_image = $row['image'];
        $edit_name = $row['name'];


    }

}
?>
  

Вот модальная, если необходимо.

  <div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="editModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-header">
            <h3>Edit <?php echo $edit_name; ?> </h3>
        </div>

        <div class="modal-body">
            <?php echo $edit_name; ?>
            <?php echo $edit_image; ?>
        </div>

        <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            <button class="btn btn-primary" type="button">Save Changes</button>
        </div>
    </div>
</div>
</div>
  

Комментарии:

1. Во-первых, я рекомендую избегать php, пример: <?php PHP_CODE ?> HTML_CODE <?php PHP_CODE ?>, чтобы избежать множества эхо-сигналов. И да, ваши идентификаторы должны быть уникальными.

2. Ваш модальный параметр должен иметь атрибут id, также такое же значение должно использоваться в атрибуте переключения данных кнопки

3. я немного отредактировал вопрос и все еще ищу помощь.

4. В HTML-части должно быть еще одно закрытие </div> .

5. Я насчитал 4 открывающих раздела и 4 закрывающих раздела. Но мне интересно добавить переменную в modal. Как только я нажимаю кнопку редактирования, появляется модальное окно….. Я получаю сообщение об ошибке, что переменная «edit_name» не определена.