постраничная навигация php mysql

O4
На сайте с 26.10.2012
Offline
0
1008

нужно сделать постараничную навигацию, но немного не обычную. то есть нужно её перевернуть, чтобы сортировка начиналась с с конца. типа << 7 6 5 4 3 >> если всего 7 страниц, но и вывод делать не всех страниц (так как их может быть и тысяча) а всего маленького промежутка, например на 3-5 страниц. может кто уже делал такое, поделитесь алгоритмом.. я уже второй день туплю.

C
На сайте с 04.02.2005
Offline
291
#1

Текущую знаете?

первые три ... -3 текущая +3 ... последние три

и проследить чтоб не было наложения ...

bay_ebook
На сайте с 28.05.2010
Offline
111
#2

Код написал в спешке, его нужно будет отладить, но думаю смысл понятен :)


$current_page = 1;
if(is_numeric($_GET['page']) && $_GET['page'] > 1){
$current_page = (int)$_GET['page'];
}
$inPage = 20;
$maxShowHref = 4;
$my_sql_count = "SELECT COUNT(*) AS `c` FROM `table` WHERE `id` = '{need_id}'";
$r = mysql_query($my_sql_count);
$my_sql_count = mysql_fetch_row($r);
$my_sql_count = $my_sql_count['c'];
$page_nabor = '';
if($inPage < $my_sql_count){
$page_nabor = 'Страницы: ';
$max_page = ceil($my_sql_count / $inPage);
$start = $max_page;
if($current_page < ($max_page - $maxShowHref)){
$start = $current_page + $maxShowHref;
$page_nabor .= $page_nabor .= '<a href="{current_url}/'.$i.'.html">Вначало</a> | ';
}
$stop = 1;
if($maxShowHref < $current_page){
$stop = $current_page - $maxShowHref;
}
for($i = $start; $i <= $stop; $i--){
if($i == $current_page){
$page_nabor .= '['.$i.'] | ';
}else{
$page_nabor .= '<a href="{current_url}/'.$i.'.html">'.$i.'</a> | ';
}
}
if($maxShowHref < $current_page){
$page_nabor .= $page_nabor .= '<a href="{current_url}/'.$i.'.html">Вконец</a> | ';
}
$page_nabor = rtrim($page_nabor, ' | ');
}

$my_sql = "SELECT * FROM `table` WHERE `id` = '{need_id}' ORDER BY `id` LIMIT ".($inPage)." OFFSET ".ceil(($current_page - 1) * $inPage);
$sql = mysql_query($my_sql);

echo $page_nabor; // Навигация

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
O4
На сайте с 26.10.2012
Offline
0
#3

спасибо. 10

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий