Не получается связать id загружаемого фото и id заранее созданного альбома

Всех приветствую! Возникла задачка, решить которую собственными силами не получается. Пишу приложение - коллекцию альбомов, где можно создавать, изменять, удалять, просматривать альбомы. Зайдя на страницу созданного альбома (id альбома получаю через foreach), можно увидеть форму загрузки фото (вводится название, описание и выбирается само фото) и форму для загруженных фотографий.

Вопрос в следующем - как связать id загружаемой картинки с id уже созданного альбома? Чтобы зайдя по id выбранного мной альбома я мог видеть только те фото, которые я загрузил в БД и которые относятся только к данному альбому.

Поступали разные идеи как решить проблему. Например, обратить внимание на БД - создать дополнительное поле (albums_id), куда будет загружаться id альбома. Это я добавил, но до ума так довести и не получилось. Может уже кто сталкивался с подобным?

Это форма для загрузки фото

<div class="panel-container show">
            <div class="panel-content">
                <div class="form-group">
                    <form action="/upload.php" method="post" autocomplete="off" enctype="multipart/form-data">
                        <div class="form-group">
                            <label class="form-control">Название фото*</label>
                            <input type="text" name="name_image" id="name_image" placeholder="Укажите название фото" required value="">
                            <label class="form-control">Описание фото*</label>
                            <input type="text" name="description_image" id="description_image" placeholder="Укажите описание фото" required value="">
                            <label class="form-control">Фото*</label>
                            <input type="file" name="image" id="image" accept=".jpeg, .jpg, .png" placeholder="Выберите фото">
                        </div>
                        <button class="btn btn-success mt-3" type="submit" name="submit" value="add">Загрузить</button>
                        <a href="index.php" class="btn btn-success mt-3">Вернуться ко всем альбомам</a><br>
                        <label class="form mt-3">*Максимальный размер фото - 3,5 Мб.<br>*Допустимый формат файла - jpeg, jpg, png.</label>
                    </form>
                </div>
            </div>
        </div>

Это форма, выгружающая фото на страницу

<div class="panel-container show">
            <div class="panel-content">
                <div class="container">
                    <table class="table table-bordered">
                        <thead>
                            <tr>
                                <th>#</th>
                                <th>Загруженное фото</th>
                                <th>Название фото</th>
                                <th>Описание фото</th>
                                <th>Возможные действия</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($images as $image):?>
                            <tr>
                                <td><?php echo $i++;?></td>
                                <td><a href="img_bd/<?php echo $image['image'];?>" data-lightbox="img_lightbox" data-title="<?php echo $image['name_image'];?>">
                                    <img src="img_bd/<?php echo $image['image'];?>" width = 150 title="<?php echo $image['image'];?>"></td>
                                <td><?php echo $image['name_image'];?></td>
                                <td><?php echo $image['description_image'];?>
                                <td>
                                    <a href="edit.photo.php?id=<?php echo $image['id'];?>" class="btn btn-warning mb-3" onclick="return confirm('Вы уверены, что хотите изменить фото?')">Изменить фото</a>
                                    <a href="delete.image.php?id=<?php echo $image['id'];?>" class="btn btn-danger mb-3" onclick="return confirm('Вы уверены, что хотите удалить фото?')">Удалить фото</a><br>
                                    <a href="comments/index.php?id="<?php echo $image['id'];?> class="btn btn-info">Посмотреть комментарии</a>
                                </td>
                            </tr>
                            <?php endforeach;?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>

Страница, загружающая фото и другие данные в БД и выводящая данные на страницу. Тут, кстати, и пытался решить вопрос привязывания id альбома к id картинки.

<?php
require_once "connect_db_mysqli.php";
require_once "index.view.php";
require_once "view.album.php";


// Параметры загрузки фото в БД
if(isset($_POST['submit']))
{
    $name_image = $_POST['name_image'];
    $description_image = $_POST['description_image'];

    // Функция привязки id альбома к id фото
    function bindAlbumToPhoto($albumId, $photoId)
    {
        $albumId = $all_album['id']; // через foreach на странице index.view.php получаю id альбома
        $photoId = $image['id']; // через foreach на странице view.album.php получаю id фото

        $result = bindAlbumToPhoto($albumId, $photoId); // пытаюсь их связать

        if ($result) {
        echo "Привязка альбома и фотографии выполнена успешно";
        } else {
        echo "Ошибка при привязке альбома и фотографии";
        }
    }    

    if($_FILES['image']['error'] === 4)
    {
        echo "<script> alert('Файл не был выбран');
                       document.location.href = 'view.album.php';
              </script>";
    }

    else {
        $fileName = $_FILES['image']['name'];
        $fileSize = $_FILES['image']['size'];
        $tmpName = $_FILES['image']['tmp_name'];

        $validImageExtension = ['jpg', 'jpeg', 'png'];
        $imageExtension = explode('.', $fileName);
        $imageExtension = strtolower(end($imageExtension));

        if (!in_array($imageExtension, $validImageExtension))
        {
            echo "<script> alert('Недопустимое расширение изображения! Выберите файл с расширением jpg, jpeg, png');
                           document.location.href = 'view.album.php';
                 </script>";

        } else {
            if ($fileSize > 3500000)
            {
                echo "<script> alert('Размер изображения слишком большой'); 
                               document.location.href = 'view.album.php';
                      </script>";

            } else {
                $newImageName = uniqid();
                $newImageName .= '.' . $imageExtension;

                move_uploaded_file($tmpName, 'img_bd/' . $newImageName);
                $query = "INSERT INTO images (name_image, description_image, image) VALUES ('$name_image', '$description_image', '$newImageName')";
                mysqli_query($conn, $query);
                echo
                "<script>
                    alert('Фотография успешно добавлена!');
                    document.location.href = 'view.album.php';
                </script>";
            }
        }
    }
}

Первое фото - таблица images (для загрузки фото)

Таблица images

второе фото - таблица albums (для загрузки альбомов)

Таблица albums


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