Шаг 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_connect( IRB_DBSERVER, IRB_DBUSER, IRB_DBPASSWORD ); mysql_select_db( IRB_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 строк на кждой.
Проследуем в следующий раздел.
|