Цикл PHP for с одним из тегов, отличающимся для каждого элемента

У меня есть следующий PHP-скрипт. Это галерея изображений, и я хотел бы добавить описание для каждого изображения в теге «p». Как лучше всего это сделать?

    <?php
     for($i=1;$i<=35;$i++)
     {
        echo
        '<a href="images/gallery/img'.$i.'.jpg">'.
        '<img src="images/thumb/img'.$i.'.jpg">'.
        '<p></p>'.
        '</a>';
     }
    ?>

person Mark Titorenkov    schedule 10.03.2016    source источник
comment
Я бы предложил вставить имена и описания в таблицу в базе данных. Таким образом, вы можете запросить базу данных и получить соответствующее описание для каждого изображения.   -  person McCormick32    schedule 10.03.2016


Ответы (3)


Файлы в вашем примере кода имеют названия от 1.jpg до 35.jpg.

Создайте еще один массив с 35 описаниями и получите доступ к нему в цикле for с помощью $i.

person RhinoDevel    schedule 10.03.2016
comment
Как мне это сделать? Извините, я новичок в PHP. - person Mark Titorenkov; 10.03.2016
comment
@MarkShark Проведите исследование и попробуйте. Если вы застряли, вернитесь и сообщите нам конкретно, с чем у вас возникли проблемы, и мы поможем вам. - person McCormick32; 10.03.2016

Хорошо, я провел небольшое исследование, вот что я нашел. Оно работает. Так что если кому нужен код:

     $title = array("title1", "title2", "title3", "title4" ... "title35");
     for($i=1;$i<=35;$i++)
     {
        echo
        '<div class="thumb">'.
        '<a href="images/gallery/img'.$i.'.jpg">'.
        '<img src="images/thumb/img'.$i.'.jpg">'.
        '<p>'.$title[$i].'</p>'.
        '</a>'.
        '</div>';
      }
      ?>
person Mark Titorenkov    schedule 10.03.2016

Предполагая, что $i - это имя файла, как предлагает ваш код, вы можете добавить имя файла в качестве описания следующим образом:

<?php
 for($i=1;$i<=35;$i++)
 {
    echo
    '<a href="images/gallery/img'.$i.'.jpg">'.
    '<img src="images/thumb/img'.$i.'.jpg">'.
    '<p>Filename: '.$i.'</p>'.
    '</a>';
 }
?>
person Tim Penner    schedule 10.03.2016