|
|
|
| Кто уже делал постраничную навигацию как на digg.com, дайте скриптик плз =)
Спасибо! | |
|
|
|
|
|
|
|
для: Школьник
(03.02.2007 в 16:21)
| | у меня http://digg.com/ не открывается мож покажешь какая она из себя эта навигация (прилипи скрин) | |
|
|
|
|
|
|
|
для: Alph[p]a
(03.02.2007 в 17:05)
| | Если активная страница до (10/2=5 )и общее количество страниц больше 10 то вид вывода такой:
<-назад 1 (2) 3 4 5 6 7 8 9 10 ... 67 68 вперед ->
Если активная страница больше (10/2=5) но меньше 10, то вид такой:
<-назад 1 2 3 4 5 (6) 7 8 9 10 ... 67 68 вперед ->
Если активная страница больше 10, то вид такой:
<-назад 1 2 ... 12 13 14 (15) 16 17 18 20 ... 67 68 вперед ->
Если активная страница в последней 10, то вид такой:
<-назад 1 2 ... 58 59 60 61 62 63 64 65 66 (67) 68 вперед ->
где:
в скобках активная страница, она находится в середине 10.
10 - это количество страниц в списке. | |
|
|
|
|
|
|
|
для: школьник
(03.02.2007 в 18:25)
| | http://softtime.ru/info/articlephp.php?id_article=33 | |
|
|
|
|
|
|
|
для: t4f
(03.02.2007 в 18:45)
| | Proboval, znayu.
No kak sdelat` tak kak na digg.com? | |
|
|
|
|
|
|
|
для: школьник
(03.02.2007 в 19:17)
| | а что именно "как на digg.com"?? циферки в синих квадратиках чтоли? | |
|
|
|
|
|
|
|
для: malish
(03.02.2007 в 20:14)
| | Нет
Показ в таком виде
Как на яндексе (вроде)
Кажется понял
Берете весь десяток чисел в которое входит ваша страница + 2 первых и 2 последних | |
|
|
|
|
|
|
|
для: bronenos
(03.02.2007 в 20:16)
| | Да да, именно так.
Я пришел к выводу что это самая удобная постраничная навигация, все время в середине десятка и есть начало и конец. | |
|
|
|
|
|
|
|
для: malish
(03.02.2007 в 20:14)
| | Нет, не оформление -) | |
|
|
|
|
|
|
|
для: школьник
(03.02.2007 в 19:17)
| |
<?
$page = intval ($_GET['page']);
if ($page==0) $page=1;
define ('page', $page);
$total = 50; // всего страниц
$perpage = 10; // выводить за раз
$area = ceil (page / $perpage);
function link ($num) {
$name = (page==$num) ? "[$num]" : "$num";
return "<a href='?page=$num'>$name</a>";
}
if (page>$perpage) {
$pages[] = link (1);
$pages[] = link (2);
}
for ($i=(($area-1)*$perpage); $i<=($area*$perpage); $i++)
if ($i<=$total)
$pages[] = link ($i);
if (($area*$perpage)<($total-2))
$pages[] = link ($total-2);
if (($area*$perpage)<($total-1))
$pages[] = link ($total-1);
?>
|
очень коряво но примерно так мне кажется | |
|
|
|
|
|
|
|
для: bronenos
(03.02.2007 в 21:00)
| | Да, клево, немного под шаманить вид и это то что надо! Спасибо, предлагаю именно эту по страничную навигацию выложить на сайте, придать ей вид, и выложить, на мой взгляд это самая лучшая реализация. | |
|
|
|
|
|
|
|
для: школьник
(03.02.2007 в 22:48)
| | нет, не лучшая, я это за 5 минут написал, поверхностно
но спасибо за комплимент =) | |
|
|
|
|
|
|
|
для: школьник
(03.02.2007 в 22:48)
| | Вообще лично мне наиболее удобна та навигация, которая занимает меньше места, поэтому в своих проектах я использую такой тип:
<script>
function gopage (num) {
window.location = '?page='+num;
}
</script>
<?
print "<select onChange='gopage(this.value);'>";
for ($i=1; $i<=$total; $i++)
print "<option value='$i'>$i</option>";
print "</select>";
?>
|
| |
|
|
|
|
|
|
|
для: bronenos
(03.02.2007 в 21:00)
| | Сделай $page = 10, посмотри что будет, нет центрирования в десятке, и невозможно попасть на 11 страницу.
Я понимаю так, активная страница которая больше 5 (тоесть половине 10), она должна центрироватся, а сейчас это происходит когда больше 10. | |
|
|
|
|
|
|
|
для: bronenos
(03.02.2007 в 21:00)
| | предлагаю добавить одну строчку перед циклом, чтобы не было нулевой страницы =)
$i_start = ( (($area-1)*$perpage) ) ? (($area-1)*$perpage) : 1; // Добавил
for ($i=$i_start; $i<=($area*$perpage); $i++)
|
| |
|
|
|