В HTML, как получить данные, хранящиеся в переменных php, которые читаются в Ajax jQuery?

Я написал веб-сайт (в A.php) с помощью нескольких вкладок, каждая из которых при нажатии на кнопку извлекает несколько изображений из другого файла php (= B.php) используя ajax jQuery и отображает их. Эти изображения являются объектами класса (объявленного в C.php) и каждая фотография имеет уникальное имя, дату, когда она была сделана, и место, где она была сделана. Все они написаны на PHP и хранятся в переменных php. Первоначально, когда данные асинхронно извлекаются и отображаются изображения, они показывают только изображения и их название, но не дату и место. Я хочу, чтобы каждая картина показать, используя модальные, дату и место только тогда, когда они нажали на.

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

Ниже Часть A.php где модальный, в котором я хочу показать дату и место каждой фотографии:

<div class="modal">
    <!-- Close modal process here (omitted)-->
    <div class="date-and-place">
        <?php
           /*I am not sure what to write in here*/
        ?>
    </div>
</div>

Ниже B.php:

/*This is the data displayed on the screen after the tab is clicked on, 
  using ajax call from A.php
  This will only show the pictures and the name*/
<?php
    require_once("C.php");
?>
<div class="pictureData">
    <!--loop through an array containing all picture objects-->
    <?php foreach($pictures as $picture): ?>
        <img class="picture"><?php echo $picture->getPicture() ?>
        <h3 class="pictureName"><?php echo $picture->getName() ?></h3>
    <?php endforeach ?>
</div>

И, наконец, C.php:

/*This file only has class and object definitions*/
<?php
    class Pics{
        private $name;
        private $imgURL;
        private $date;
        private $place;
    }
    /*There is constructor here, and each object is given name,              
      imgURL, date and place when created(omitted)*/
    /*and there is getter functions for each as well (omitted)*/
    /*Store each object data in an array*/
    $pictures = array($object1, $object2, ....);
?>

Как можно отобразить информацию о дате и месте фотографии (показывать только дату и место щелчка на картинке)?
Любая помощь будет очень признательна и заранее благодарна!

1 ответ

  1. Я бы использовал совершенно другой подход:

    1. отправка полных данных изображения с помощью json_encode($pictures)
    2. клиентская сторона: хранить массив изображений; показывать изображения
    3. при нажатии modal просто считывает дополнительные данные из массива JS

    Это также отделяет содержимое от презентации, так как B.php больше не отправляет HTML.