AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







Шаг 1

Подготовительные работы

Очень часто объем информации, который хочется явить взору любопытного юзера, настолько велик, что не только прочитать его одним махом, но и загрузить на одну страницу становится практически невозможным. Требуется как то информацию упорядочить. Самый цивилизованный способ - разбить на несколько страниц и снабдить навигацией.
Если это сделать в автоматическом режиме, получится знакомый нам всем пагинатор. Или по русски - листалка. Или постраничная навигация. Как больше нравится.

Вот сейчас мы и изготовим такую вещь, чтобы наш сайт был удобочитаем.

Для начала нужно изготовить полигон. То есть площадку, на которой мы будем разворачивать боевые действия.
Первое - создадим таблицу в бд, которую и будем листать:
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
-- 
-- Структура таблицы `table`
-- 

CREATE TABLE `table` (
  `id` int(10) NOT NULL auto_increment,
  `text` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 AUTO_INCREMENT=101 ;

-- 
-- Дамп данных таблицы `table`
-- 

INSERT INTO `table` VALUES (1, 'текст 1');
INSERT INTO `table` VALUES (2, 'текст 2');
INSERT INTO `table` VALUES (3, 'текст 3');
INSERT INTO `table` VALUES (4, 'текст 4');
INSERT INTO `table` VALUES (5, 'текст 5');
INSERT INTO `table` VALUES (6, 'текст 6');
INSERT INTO `table` VALUES (7, 'текст 7');
INSERT INTO `table` VALUES (8, 'текст 8');
INSERT INTO `table` VALUES (9, 'текст 9');
INSERT INTO `table` VALUES (10, 'текст 10');
INSERT INTO `table` VALUES (11, 'текст 11');
INSERT INTO `table` VALUES (12, 'текст 12');
INSERT INTO `table` VALUES (13, 'текст 13');
INSERT INTO `table` VALUES (14, 'текст 14');
INSERT INTO `table` VALUES (15, 'текст 15');
INSERT INTO `table` VALUES (16, 'текст 16');
INSERT INTO `table` VALUES (17, 'текст 17');
INSERT INTO `table` VALUES (18, 'текст 18');
INSERT INTO `table` VALUES (19, 'текст 19');
INSERT INTO `table` VALUES (20, 'текст 20');
INSERT INTO `table` VALUES (21, 'текст 21');
INSERT INTO `table` VALUES (22, 'текст 22');
INSERT INTO `table` VALUES (23, 'текст 23');
INSERT INTO `table` VALUES (24, 'текст 24');
INSERT INTO `table` VALUES (25, 'текст 25');
INSERT INTO `table` VALUES (26, 'текст 26');
INSERT INTO `table` VALUES (27, 'текст 27');
INSERT INTO `table` VALUES (28, 'текст 28');
INSERT INTO `table` VALUES (29, 'текст 29');
INSERT INTO `table` VALUES (30, 'текст 30');
INSERT INTO `table` VALUES (31, 'текст 31');
INSERT INTO `table` VALUES (32, 'текст 32');
INSERT INTO `table` VALUES (33, 'текст 33');
INSERT INTO `table` VALUES (34, 'текст 34');
INSERT INTO `table` VALUES (35, 'текст 35');
INSERT INTO `table` VALUES (36, 'текст 36');
INSERT INTO `table` VALUES (37, 'текст 37');
INSERT INTO `table` VALUES (38, 'текст 38');
INSERT INTO `table` VALUES (39, 'текст 39');
INSERT INTO `table` VALUES (40, 'текст 40');
INSERT INTO `table` VALUES (41, 'текст 41');
INSERT INTO `table` VALUES (42, 'текст 42');
INSERT INTO `table` VALUES (43, 'текст 43');
INSERT INTO `table` VALUES (44, 'текст 44');
INSERT INTO `table` VALUES (45, 'текст 45');
INSERT INTO `table` VALUES (46, 'текст 46');
INSERT INTO `table` VALUES (47, 'текст 47');
INSERT INTO `table` VALUES (48, 'текст 48');
INSERT INTO `table` VALUES (49, 'текст 49');
INSERT INTO `table` VALUES (50, 'текст 50');
INSERT INTO `table` VALUES (51, 'текст 51');
INSERT INTO `table` VALUES (52, 'текст 52');
INSERT INTO `table` VALUES (53, 'текст 53');
INSERT INTO `table` VALUES (54, 'текст 54');
INSERT INTO `table` VALUES (55, 'текст 55');
INSERT INTO `table` VALUES (56, 'текст 56');
INSERT INTO `table` VALUES (57, 'текст 57');
INSERT INTO `table` VALUES (58, 'текст 58');
INSERT INTO `table` VALUES (59, 'текст 59');
INSERT INTO `table` VALUES (60, 'текст 60');
INSERT INTO `table` VALUES (61, 'текст 61');
INSERT INTO `table` VALUES (62, 'текст 62');
INSERT INTO `table` VALUES (63, 'текст 63');
INSERT INTO `table` VALUES (64, 'текст 64');
INSERT INTO `table` VALUES (65, 'текст 65');
INSERT INTO `table` VALUES (66, 'текст 66');
INSERT INTO `table` VALUES (67, 'текст 67');
INSERT INTO `table` VALUES (68, 'текст 68');
INSERT INTO `table` VALUES (69, 'текст 69');
INSERT INTO `table` VALUES (70, 'текст 70');
INSERT INTO `table` VALUES (71, 'текст 71');
INSERT INTO `table` VALUES (72, 'текст 72');
INSERT INTO `table` VALUES (73, 'текст 73');
INSERT INTO `table` VALUES (74, 'текст 74');
INSERT INTO `table` VALUES (75, 'текст 75');
INSERT INTO `table` VALUES (76, 'текст 76');
INSERT INTO `table` VALUES (77, 'текст 77');
INSERT INTO `table` VALUES (78, 'текст 78');
INSERT INTO `table` VALUES (79, 'текст 79');
INSERT INTO `table` VALUES (80, 'текст 80');
INSERT INTO `table` VALUES (81, 'текст 81');
INSERT INTO `table` VALUES (82, 'текст 82');
INSERT INTO `table` VALUES (83, 'текст 83');
INSERT INTO `table` VALUES (84, 'текст 84');
INSERT INTO `table` VALUES (85, 'текст 85');
INSERT INTO `table` VALUES (86, 'текст 86');
INSERT INTO `table` VALUES (87, 'текст 87');
INSERT INTO `table` VALUES (88, 'текст 88');
INSERT INTO `table` VALUES (89, 'текст 89');
INSERT INTO `table` VALUES (90, 'текст 90');
INSERT INTO `table` VALUES (91, 'текст 91');
INSERT INTO `table` VALUES (92, 'текст 92');
INSERT INTO `table` VALUES (93, 'текст 93');
INSERT INTO `table` VALUES (94, 'текст 94');
INSERT INTO `table` VALUES (95, 'текст 95');
INSERT INTO `table` VALUES (96, 'текст 96');
INSERT INTO `table` VALUES (97, 'текст 97');
INSERT INTO `table` VALUES (98, 'текст 98');
INSERT INTO `table` VALUES (99, 'текст 99');
INSERT INTO `table` VALUES (100, 'текст 100');


Теперь возьмем установочные данные из конфига и сделаем отдельный файл коннекта.
mysql.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
<?php

  
/**
   * Database server.
   * Сервер БД.
   */   
   
define('IRB_DBSERVER''localhost'); 
  
   
/**
   * Database user.
   * Пользователь БД
   */ 
   
define('IRB_DBUSER''root'); 
  
  
/**
   * Database password.
   * Пароль БД
   */     
   
define('IRB_DBPASSWORD''');
  
  
/**
   * Database name.
   * Название базы
   */ 
   
define('IRB_DATABASE''basa');     


/**   
* Connection and installation of chaeset of connection 
* Подключение и установка кодировок соединения  
*/     
    
mysql_connectIRB_DBSERVERIRB_DBUSERIRB_DBPASSWORD );  
    
mysql_select_dbIRB_DATABASE);  
      
    
mysql_query('SET NAMES utf8');          
    
mysql_query('SET CHARACTER SET utf8');  
    
mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"');


Ну и сам индексный файл, где будем сочинять скрипт. Пока поместим туда просто выборку из таблицы:
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

    
include './mysql.php';

   
    
$res mysql_query("SELECT * FROM `table` ");
    
    
$table "<table width=\"50%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n";

    if(
mysql_num_rows($res) > 0)        
        while(
$row mysql_fetch_assoc($res))
        {
            
$table .= "<tr>\n<td>\n\t"$row['text']. "\n</td>\n</tr>\n";
        }
     
    
$table .= "</table>\n";    
    
    echo 
$table;    


Всё, можно запускать. Вот мы видим, что на странице у нас 100 строк текста. А нам допустим надо 10 страниц по 10 строк на кждой.

Проследуем в следующий раздел.
Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009