scooterok
Новичок
Приветствую.
Есть задача получить имеющийся список данных и разместить его по трем блокам.
Столкнулся с проблемой, что мой код выводит каждую следующую запись, по очереди, в каждый блок.
Вариант такой не совсем подходит, нужно скажем выводить во все три блока данные, но в порядке, скажем по пять записей на каждый блок, к примеру,
Сейчас получается так:
Первая запись - Первый блок
Вторая запись - Второй блок
Третья запись - Третий блок
Четвертая запись - Первый блок
и т.д.
Т.е. мой код выводит в каждый блок следующую запись, что в принципе логично.
Исходя из моего когда, чтоб не писать несколько while, в одном while это можно реализовать?
Подскажите как?
Привожу пример кода:
В таком виде оно выводит каждую запись в каждый блок, блоков три, соответственно четвертую запись выводит в первый и т.д.
А мне нужно, чтоб в три блока выводилось скажем по пять записей.
В первый блок с 1 по 5, во второй с 5 по 10, в третий с 10 по 15...
Но записей может быть и больше, соответственно нужно их как-то пропорционально разделять еще.
Сейчас допустим 16, и 16-ю он бросил в первый блок, а не добавил в последний, так и нужно, но не каждую строку в каждый блок, а каждые 5 в каждый блок.
Можно ли такое реализовать в единственном while? =)
Как?
Принцип логики я понимаю, но мозги уже кипят), не могу довести это до ума.
Буду признателен за подсказки и помощь.
Есть задача получить имеющийся список данных и разместить его по трем блокам.
Столкнулся с проблемой, что мой код выводит каждую следующую запись, по очереди, в каждый блок.
Вариант такой не совсем подходит, нужно скажем выводить во все три блока данные, но в порядке, скажем по пять записей на каждый блок, к примеру,
Сейчас получается так:
Первая запись - Первый блок
Вторая запись - Второй блок
Третья запись - Третий блок
Четвертая запись - Первый блок
и т.д.
Т.е. мой код выводит в каждый блок следующую запись, что в принципе логично.
Исходя из моего когда, чтоб не писать несколько while, в одном while это можно реализовать?
Подскажите как?

Привожу пример кода:
Код:
$query = "SELECT * FROM `string` GROUP BY `sort`";
$result = mysql_query($query, $link) or die(mysql_error());
$count = "";
while($vyvod = mysql_fetch_assoc($result)) {
if($count == ""){$count = 0;}
if($count %3==0){
$block1.= $vyvod['2'];
$block1.= $vyvod['3'];
}
if($count %3==1){
$block2.= $vyvod['2'];
$block2.= $vyvod['3'];
}
if($count %3==2){
$block3.= $vyvod['2'];
$block3.= $vyvod['3'];
}
$count++;
}
mysql_free_result($result);
А мне нужно, чтоб в три блока выводилось скажем по пять записей.
В первый блок с 1 по 5, во второй с 5 по 10, в третий с 10 по 15...
Но записей может быть и больше, соответственно нужно их как-то пропорционально разделять еще.
Сейчас допустим 16, и 16-ю он бросил в первый блок, а не добавил в последний, так и нужно, но не каждую строку в каждый блок, а каждые 5 в каждый блок.
Можно ли такое реализовать в единственном while? =)
Как?
Принцип логики я понимаю, но мозги уже кипят), не могу довести это до ума.
Буду признателен за подсказки и помощь.
Последнее редактирование: