mjc66 Опубликовано 8 февраля, 2008 Жалоба Поделиться Опубликовано 8 февраля, 2008 Проблема в следующем, передаю по ссылке на страницу вывода номенклатуры, данные об "id" и "name": <a href="'.$page[$t['group_production']].'?id='.$t['id'].'&name='.$t['name'].'">'.$t['name'].'</a> В результате попадаю всегда на 1-ю страницу вывода наименований, где у меня организована постраничная навигация. Т.е. как я понимаю нужно сделать так: <a href="'.$page[$t['group_production']].'?page='здесь должен генерироваться номер страницы совпадающий со значениями id и name'&id='.$t['id'].'&name='.$t['name'].'">'.$t['name'].'</a> Вопрос собственно в том, как сделать генерацию необходимых номеров страниц? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
mmap Опубликовано 8 февраля, 2008 Жалоба Поделиться Опубликовано 8 февраля, 2008 Вот пример кода выводящий список страниц со ссылками. function panel($cnt, $page, $cperpage, $addon){ $pgs = intval($cnt / $cperpage); if ($pgs * $cperpage != $cnt) $pgs++; if ($pgs == 1) return ""; if ($page > $pgs) $page = 1; if ($cnt <= $cperpage - 1) return ""; $ww = $page + 1; $www = $page - 1; if ($page == 1) $P = ""; else $P = "<A href=\"?page=1{$addon}\"><B><</B></A> <A href=\"?page={$www}{$addon}\"><B><<</B></A> | "; if ($page == $pgs) $N = ""; else $N = " | <A href=\"?page={$ww}{$addon}\"><B>>></B></A> <A href=\"?page={$pgs}{$addon}\"><B>></B></A>"; $table = " {$P} Страницы ({$pgs}):"; if ($pgs > 20) { $startp = $page - 10; $endp = $page + 10; if ($startp < 1) $startp = 1; if ($endp > $pgs) $endp = $pgs; } else { $startp = 1; $endp = $pgs; } for ($i = $startp; $i <= $endp; $i++) { if ($page != $i) $table .= " <A href=\"?page={$i}{$addon}\">{$i}</A>"; else $table .= " {$i}"; } $table .= "{$N}"; return $table;} Количество страниц можно определить как количество_наименований / наименований_на_страницу. Соответственно выводить надо все наименования, начиная с ($page - 1) * $NAMES_PER_PAGE и заканчивая min($page * $NAMES_PER_PAGE, $TOTAL_NAMES); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.