За последние 24 часа нас посетили 17606 программистов и 1626 роботов. Сейчас ищут 1733 программиста ...

Помогите с реализацией галлереи

Тема в разделе "HTML и CSS", создана пользователем gix, 4 фев 2015.

  1. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    вообщем проблема таково-через цикл я вывожу фотографии и мне надо чтобы фото располагались в ряд по 4шт и если фото к примеру 6 то будет 2 ряда, 9-3 ряда и так далее. То есть динамическое создание ячеек не проблема, но как сделать ограничение в 4 колонки в строке хз.Делаю через таблицу.
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Варинт первый: используем деление по модулю.
    Код (PHP):
    1. if($i % 4 == 0) {
    2.    // новая строка, т.е. <tr>
    3. }
    Вариант второй: разбиваем массив изображений на части по четыре элемента - array_chunk(). Каждый вложенный массив - это новая строка таблицы.
    P.S. На всякий случай о том, как можно все изображения получить в массив:
    Код (PHP):
    1. $images = glob("*.{jpg,png,gif}", GLOB_BRACE); 
     
  3. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    спасибо завтра попробую и отпишусь
    я делал вывод таким образом
    Код (Text):
    1.  
    2. <table cellspacing="3" cellpadding="2">
    3.  
    4.                     <?php foreach($photos as $row):?>
    5.                         <tr>
    6.                             <td><td><img src="<?=PATH?>views/images/<?=$row[3]?>"></td></td>
    7.                         </tr>
    8.                         <?php endforeach?>
    9.  
    10.                     </table>
    ну и изображения я считываю не с папки а с бд
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    А почему только по два <td> на тзображение? Можно же по штучек десять влепить ))
    Тем проще.
     
  5. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    а, та то я пробовал разные вариации типа вложенных ячеек, а потом не убрал лишние <td>
    ну тогда получается через array_chank только нужно делать и передать ему массив имен фото.
     
  6. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    Решил проблему немного по-другому. Я подумал а что если писать всё в одной ячейке(а не генерить каждый раз циклом) и задать условие перехода. В итоге наваял вот такое:
    Код (Text):
    1.  
    2. <table cellpadding="30">
    3.                         <tr><td>
    4.                     <?php foreach($photos as $row):?>
    5.  
    6.                         <?php static $i=0;$i++;?>
    7.                         <a href="?<?=$row[0]?>"><img src="<?=PATH?>views/images/<?=$row[3]?>"></a>&nbsp;&nbsp;&nbsp;&nbsp;
    8.                         <?php if($i%4==0):?>
    9.                             <br><br>
    10.                         <?php endif ?>
    11.                         <?php endforeach?>
    12.                             </td>
    13.                         </tr>
    14.                     </table>