Код упрощен для понимания.
С помощью LIMIT я хочу вытащить несколько блоков на одну страницу.
т.е. например имеется группа ABBA. У нее 15 альбомов. Каждый LIMIT должен вытащить по 6 альбомов , т.к. всего 15, то соотв-о на третий лимит получается 3 альбома.
Организовал это с помощью цикла for
<?
$on_page=6;// кол-во для одного блока
$result = mysql_query("SELECT count(*) FROM `names` INNER JOIN `tracklist` ON `name_id` = `names`.`id`
WHERE `name`='$name' ");
$posts = mysql_result($result,0);
$total = intval(($posts - 1) / $on_page) + 1; //общее кол-во блоков
for($page=1;$page<=$total;$page++)
{
$start =($page * $on_page) - $on_page;// начало для блока.
echo "<br><b>$start</b><br>";
$result = mysql_query("SELECT `text_tracklist`,`list` FROM `names` INNER JOIN `tracklist` ON `name_id` = `names`.`id`
WHERE `name`='$name' LIMIT $start, $on_page");
while ( $postrow[] = mysql_fetch_array($result))
for($i = 0; $i < $on_page; $i++)
{
echo $postrow[$i]['list'];
echo "____________________________________";
}
}
?>
Старт получается там где надо ! А вот все блоки выводят одно и то же. Т.е. все 3 блока мне выводят только первые 6 альбомов.
Не понимаю почему.
Видать скрипт считает что массив $postrow[] всегда один и тот же.
Помогите пожалуйста )
Спустя 22 минуты, 1 секунда (20.03.2011 - 13:36) fallow написал(а):
Во втором цикле, вот здесь :
Старт получает 6, а вот здесь
$one_page так же 6. То есть лимит с 6 до 6 что-ли?
Попробуй в конце for'а поcтавить счтётчик чтобы к $on_page прибавляло 6.
И попробуй ещё в конце обнулять $postrow[]
$start =($page * $on_page) - $on_page;// начало для блока.
Старт получает 6, а вот здесь
$result = mysql_query("SELECT `text_tracklist`,`list` FROM `names` INNER JOIN `tracklist` ON `name_id` = `names`.`id`
WHERE `name`='$name' LIMIT $start, $on_page");
$one_page так же 6. То есть лимит с 6 до 6 что-ли?
Попробуй в конце for'а поcтавить счтётчик чтобы к $on_page прибавляло 6.
И попробуй ещё в конце обнулять $postrow[]
Спустя 47 минут, 41 секунда (20.03.2011 - 14:24) dima4321 написал(а):
fallow
в лимите $on_page показывает насколько отсупить от точки отсчета.
Там все правильно.
обнулять пробовал так:
$postrow[]="";
но результат тот же.
в лимите $on_page показывает насколько отсупить от точки отсчета.
Там все правильно.
обнулять пробовал так:
$postrow[]="";
но результат тот же.
Спустя 11 минут, 19 секунд (20.03.2011 - 14:35) fallow написал(а):
а unset($postrow) ?
Или счтётчик $page засунуть в $postrow[$page] и во внутреннем цикле обращаться к ней
$postrow[$page][$i]['list'];
p.s извини за limit и вправду работает как (от начала,cколько), не внимательный)
Или счтётчик $page засунуть в $postrow[$page] и во внутреннем цикле обращаться к ней
$postrow[$page][$i]['list'];
p.s извини за limit и вправду работает как (от начала,cколько), не внимательный)
Спустя 9 минут, 23 секунды (20.03.2011 - 14:44) dima4321 написал(а):
fallow
Спасибо, я неправильно делал обнуление ))
Проблема решилась так unset($postrow); ))
Спасибо, я неправильно делал обнуление ))
Проблема решилась так unset($postrow); ))
_____________
Работаю за еду ! __))
И за плюсики !