Форум → Программирование → PHP для идиотов → Разделяем страницы на куски
Разделяем страницы на куски
-
Допустим есть вывод записей…на одной странице по 4-е записи…
Если выводить все номера страниц…а если их 1000 то бугага…
собственно хочу
1 | 2 | 3 …
если мы на 4й странице то
… 4 | 5 | 6 …
пробовал сделать при помощи array_chunk()
потом ходить по ключам массива…тупо вроде…
может есть более простое решение? -
27 февраля 2008 г. 13:30, спустя 22 минуты 46 секунд
Ну во-первых, если на 4-ой, то … 3 | 4 | 5 … тогда уже :)
Во-вторых, номер страницы же как-то передается (гетом, например), вот от него и можно отталкиваться. $page - 1; $page; $page + 1 :)
Останется только предусмотреть для первых и последних номеров. -
27 февраля 2008 г. 23:09, спустя 9 часов 39 минут 40 секунд
факи для кого пишут?
http://pyha.ru/forum/topic/299.0все умрут, а я изумруд -
28 февраля 2008 г. 9:56, спустя 10 часов 46 минут 35 секунд
факи для кого пишут?
http://pyha.ru/forum/topic/299.0
md5, ты меня не так понял.
Мне не надо выводить все страницы…т.е
Начало Предыдущая 1 2 3 4 5 6 7 8 9 10 Следующая Конец
А нужно делать лимит по страницам…т.е
Предыдущие 3-и страницы 4 5 6 Следующие три страницы
Вот…я придумал…работает…for($i=1; $i<=$pages; $i++){
$array[$i] = $i;
}
$ChunkLimit = 3;
$arrayChunk = array_chunk($array, $ChunkLimit);
//print_r ($arrayChunk);
if(!isset($_GET['chunk'])){
$_GET['chunk'] = 0;
}
if($arrayChunk[($_GET['chunk']+1)]['0'] != 0){
$nextChunk = '<a href="answers.html?page='.$arrayChunk[($_GET['chunk']+1)]['0'].'&chunk='.($_GET['chunk']+1).'">></a>';
}
if($arrayChunk[($_GET['chunk']-1)]['0'] != 0){
$previousChunk = ' <a href="answers.html?page='.($arrayChunk[($_GET['chunk']-1)]['0']+$ChunkLimit-1).'&chunk='.($_GET['chunk']-1).'"><</a> ';
}
print $previousChunk;
foreach($arrayChunk[$_GET['chunk']] as $key => $value){
if($value != $page){
print '<a href="?page='.$value.'&chunk='.$_GET['chunk'].'">'.$value.'</a> ';
}
else{
print '<a href="?page='.$value.'&chunk='.$_GET['chunk'].'"><b>'.$value.'</b></a> ';
}
}
print $nextChunk; -
28 февраля 2008 г. 10:26, спустя 29 минут 50 секунд
Ну так в факе это и есть. Невнимательно читаешь ;) -
28 февраля 2008 г. 11:29, спустя 1 час 2 минуты 50 секунд
Дак как то коряво работает…лимит заданных "прыгает" чтоли
Пожалуйста, авторизуйтесь, чтобы написать комментарий!