Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 823
1

пагинатор

27.11.2013, 13:18. Показов 1907. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нашел такой вариант пагинатора
как связать вот эту консрукции с ним
PHP
1
2
$sm=mb_strlen($s,'UTF-8');
echo " количество символов$sm";
тоесть если количество символов на странице доходит до определенного числа создаем запускаем механизм пагинатора?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
 
class Paginator
{
    private $qww;
    private $query;
    private $fields;
    private $table;
    private $npp;
    public function __construct($T, $F, $NPP, $Q)
 
    {
        $this -> fields = $F;
        $this -> table  = $T;
        
        is_numeric($_GET['page'])?$_GET['page']:1;
        
        $this -> query  = $Q; 
        $this -> npp    = $NPP;
        $this -> start  = 
        
        1+(((isset($_GET['page'])?(is_numeric($_GET['page'])&&!empty($_GET['page']))?$_GET['page']:1:1)-1)
        *$this->npp);
        $select_count = 'SELECT COUNT(*) FROM ' . $this->table;
        $qw = mysql_query($select_count) or die(mysql_error());
        $this->limit = mysql_result($qw,0);
        
            $f = implode(',', $this->fields );
            $select_page = "SELECT {$f} FROM {$this->table} {$this->query} 
                            LIMIT {$this->start}, {$this->npp}";
                            
            $this->qww = mysql_query($select_page) or die(mysql_error());    
    }
    
    public function Fetch()
    {
        $out = '';
        $out .= '<table border=1 width=770 cellspacing=0>';
        while($row = mysql_fetch_assoc($this->qww))
        {
            $out .= '<tr>';
            for($i = 0; $i < count($this->fields); $i ++)
                $out .= '<td style=width:400px>'.$row[$this->fields[$i]].'</td>';
            $out .= '</tr>';           
        }   
        $out .= '</table>';
        echo $out;     
    }
    
    public function View()
    {
        $Numofpages = ceil($this->limit/ $this->npp);
        $i = 0;
        echo '<hr />';
        while($i < $Numofpages)
        {
            if($i+1 == $_GET['page'])
                echo '<span style=background-color:#ffcfcf><a href="?page='.++$i.'">'.$i.'</a></span> ';
            else
                echo '<span style=background-color:#cfcfff><a href="?page='.++$i.'">'.$i.'</a></span> ';
        }
        echo '<hr />';
    }
}
 
// Запуск
$Paginator =  new Paginator('ipb_content_cache_posts', array('cache_content_id', 'cache_content'), 2, 'ORDER BY cache_content_id DESC');
 
$Paginator -> View();
$Paginator -> Fetch();
$Paginator -> View();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2013, 13:18
Ответы с готовыми решениями:

Пагинатор, почти доделал простейший пагинатор
Вот, собсна код &lt;?php function paginate ($page, $pageCount, $offset) { if (($page&lt;1) ||...

Пагинатор
Как решить проблему с пагинатором, что-бы количество страниц в пагинаторе не росло до...

Пагинатор
У меня стоит пагинатор. Но проблема в том, что при переходе, например, на вторую страницу другие...

Пагинатор
Привет! Помогите. Такая проблема, выводит по поиску только на первой странице, на остольных...

2
31 / 45 / 21
Регистрация: 09.10.2012
Сообщений: 818
27.11.2013, 14:32 2
Ну я делал по другому,но принцип везде один и тот же
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
$nums = 20;
 
if (isset($_GET['page'])) {
    $page = intval($_GET['page']);
}
else {
    $page = 1;
}
 
$query = "SELECT COUNT(*) AS `counter`
            FROM `$table`";
$sql = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($sql);
 
$elements = $row['counter'];
 
$pages = ceil($elements/$nums);
 
 
if ($page < 1) {
    $page = 1;
}
elseif ($page > $pages) {
    $page = $pages;
}
 
 
$start = ($page-1)*$nums;
 
// когда у нас в таблице нет записей
if ($start < 0) $start = 0;
 
$query = "SELECT *
            FROM `$table`
            LIMIT {$start}, {$nums}";
$sql = mysql_query($query) or die(mysql_error());
 
while ($row = mysql_fetch_assoc($sql)) {
    // здесь выводим наши записи из базы
}
echo "<style type='text/css'>
page{
            padding-left: 5px;
            padding-right: 5px;
            border:1px solid:#EAEEF8;
            background-color: #3366FF;
            font-family: arial;
            color:white;
            font-size: 13px
            }
 
a.page:link,
a.page:hover,
a.page:visited{
               font-family: arial;
               text-decoration: none;
               font-size: 13px;
               padding-left: 4px;
               padding-right: 4px;
               border:1px solid:#EAEEF8;
               color: #3366FF;
              }
</style>";
// далее нам надо прицепить листалку
 
$neighbours = 6;
$left_neighbour = $page - $neighbours;
if ($left_neighbour < 1) $left_neighbour = 1;
 
$right_neighbour = $page + $neighbours;
if ($right_neighbour > $pages) $right_neighbour = $pages;
 
if ($page > 1) {
    print ' <a href="?page=1">начало</a> ... <a href="?page=' . ($page-1) . '">назад</a> ';
}
 
for ($i=$left_neighbour; $i<=$right_neighbour; $i++) {
    if ($i != $page) {
        print ' <a href="?page=' . $i . '">' . $i . '</a> ';
    }
    else {
        // выбранная страница
        print ' <b>' . $i . '</b> ';
    }
}
 
if ($page < $pages) {
    print ' <a href="?page=' . ($page+1) . '">вперед</a> ... <a href="?page=' . $pages . '">конец</a> ';
    }
    ?>
0
129 / 50 / 8
Регистрация: 01.12.2013
Сообщений: 572
10.05.2014, 22:16 3
Вопросы по этому пагинатору есть, может кто поможет:

Строка 35 $start - это что за переменная?

Свой блок который у меня выводил статьи в while полностью убираю и вывожжу его в строках 38-40?

66 строчка, что за 6 - откуда эта цифра?
0
10.05.2014, 22:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2014, 22:16
Помогаю со студенческими работами здесь

Пагинатор на страницу
Вот так выглядит место где выводятся все записи из бд. Вопрос в том, как вставить сюда paginator,...

Как сократить пагинатор?
Нужно обрезать пагинацию ! оставить первые четыре близлежащие страницы и 4 последние близлежащие...

Пагинатор, разбивка контента на страницы
У меня такой вопрос, можно ли сделать пагинацию если информация выводится циклом не из базы? ...

Пагинатор кнопки вперед назад
ребят как сделать в данном классе кнопки вперед и назад? &lt;?php /* * Класс для...

Пагинатор!
Привет! Ребята помогите, как в пагинаторе сделать чтобы не выводило все страницы, а например чтобы...

Пагинатор и сортировка страниц
Добрый день. Встала для меня задача сделать на сайте для поиска пагинацию и сортировку страниц....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru