За последние 24 часа нас посетили 102582 программиста и 5691 робот. Сейчас ищут 2666 программистов ...

Вопрос про счетчик

Тема в разделе "PHP для новичков", создана пользователем rita12, 24 май 2016.

  1. rita12

    rita12 Новичок

    С нами с:
    24 май 2016
    Сообщения:
    3
    Симпатии:
    0
    Всем доброго времени суток, есть вопрос по счетчику. Буду благодарна, если кто наставит на путь истинный. Есть счетчик, который в цикле после каждых двух постов ставит див.

    PHP:
    1. $counter++;
    2. if ($counter % 2 == 0) {
    3. echo '<div class="border_line"></div>';
    4. }
    Мне нужно, чтобы он сначала поставил этот див после 3х постов, а потом всегда после 2х. Как мне этого добиться?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Добавить дополнительное условие и временную переменную, чтобы переключать режим.
     
  3. rita12

    rita12 Новичок

    С нами с:
    24 май 2016
    Сообщения:
    3
    Симпатии:
    0
    А как может выглядеть дополнительное условие? Я просто плохо в синтаксисе разбираюсь..
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Цикл по массиву идёт?
     
  5. rita12

    rita12 Новичок

    С нами с:
    24 май 2016
    Сообщения:
    3
    Симпатии:
    0
    да, верно
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Если массив приходит из базы, то есть он сразу весь не доступен, то можно так сделать:
    цикл замени просто на тот же $i++, у тебя же уже есть цикл foreach
    PHP:
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4.     <title></title>
    5. </head>
    6. <body>
    7. <?php
    8. $state = false;
    9. for ($i=1; $i < 15; $i++) {
    10.     echo $i.'<br>';
    11.     if ( ($state == false && $i == 3) || ($state == true && $i % 2 != 0) ) {
    12.         echo '<hr>';
    13.         $state = true;
    14.     }
    15. }
    16. ?>
    17. </body>
    18. </html>
    Ещё способ, разбить массив на части
    https://secure.php.net/manual/ru/function.array-chunk.php
     
    rita12 нравится это.
  7. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.601
    Симпатии:
    423
    Адрес:
    РД, г. Махачкала.
    Может эта работа для JS?