За последние 24 часа нас посетили 18608 программистов и 1600 роботов. Сейчас ищут 1000 программистов ...

Цикл - не могу разобраться =)

Тема в разделе "PHP для новичков", создана пользователем svetlana, 18 авг 2011.

  1. svetlana

    svetlana Активный пользователь

    С нами с:
    27 мар 2011
    Сообщения:
    27
    Симпатии:
    0
    Всем доброго дня.

    Подскажи пожалуйста вот какой момент

    есть цикл - while ( $row = $sql_result )
    забирает инфу из базы

    мне нужно задать некоторые условия для каждого цикла по отдельности.
    для 1,4,7,10 и т.д. свое условие
    для 2,5,8,11 и т.д. свое условие
    для 3,6,9,12 и т.д. свое условие

    вписала так, но работает оно не так как надо =)
    Код (Text):
    1. if ($i % 1== 0){
    2.         $res = '<br />'.$res.';
    3.     }
    4.  
    5. if ($i % 2== 0){
    6.         $res = '<br /><br />'.$res.';
    7.     }
    8.  
    9. if ($i % 3== 0){
    10.         $res = '<br />'.$res.';
    11.     }
    Я в циклах совсем не сильна, подскажите пожалуйста как сделать.
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Код (Text):
    1. if (($i + 2) % 3 == 0){
    2.         $res = '<br />'.$res.';
    3.     }
    4.  
    5. if (($i +1) % 3 == 0){
    6.         $res = '<br /><br />'.$res.';
    7.     }
    8.  
    9. if ($i % 3== 0){
    10.         $res = '<br />'.$res.';
    11.     }
    типа такого наверное )
     
  3. svetlana

    svetlana Активный пользователь

    С нами с:
    27 мар 2011
    Сообщения:
    27
    Симпатии:
    0
    все равно странно получается,
    с первым циклом все правильно, но со вторым выводится условие первого и второго, в третьем условие первого, второго и третего и так дальше =(
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    svetlana

    Покажи весь код, тяжело по такому кусочку понять чего ты добиваешься
     
  5. svetlana

    svetlana Активный пользователь

    С нами с:
    27 мар 2011
    Сообщения:
    27
    Симпатии:
    0
    если вкратце, то код выводит из базы информацию в виде новостей, 1 цикл 1 новость, и так пока не выведет все (в моем случае 18) мне нужно отсортировать эти 18 новостей по три в строку добавив эти три новости в таблицу, 1 новость первая столбец, вторая во второй и третья в третий, а следующие три опять в таблицу из трех столбцов и так все 18 новостей т.е. в итоге 6 таблиц по три новости в каждой.

    для этого мне нужно к каждой новости прописать свой кусок от таблицы -

    цикл в коде -

    Код (Text):
    1. while ( $row = $sql_result ){
    2. $news_found = TRUE;
    3. $i ++ ;
    4.  
    5. далее только код который читает запрос и информацию в нем
    Причем если добавляю echo $i; то счет идет нормально т.е. от 1 до 18, но как заставить чтобы в первой новости был свой кусочек таблицы, а во второй другой, а для третьего закрывающий таблицу и потом все повторялось для следующих трех я не пойму.
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вы чего изобретаете?

    разбить числа кратные по группам?
     
  7. svetlana

    svetlana Активный пользователь

    С нами с:
    27 мар 2011
    Сообщения:
    27
    Симпатии:
    0
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  9. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    ты мыслишь верно - лучше всего использовать остаток от деления. Только повторюсь - без кода тяжело понять что и куда надо вставить.

    Боишься выкладывать, чтобы не украли?? )))
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    tommyangelo
    а че вы делаете?

    зы: шесть делить на два и на три даст одинаковый остаток - как быть?
     
  11. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    igordata
    А ты глянь, что я написал. Там везде делитель тройка ;)
     
  12. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    tommyangelo
    так а че вы делаете-то? и главное - зачем?
     
  13. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Если бы я знал =)