Информационный портал «SoftTime-INFO»
|
| Задачи | 14. Алфавитная навигация в базе данных (27.03.06) 14. Алфавитная навигация в базе данных (27.03.06) Автор - Коженков Олег (FatBoy) Категория - 3
Имеется таблица name, в которой одно из полей имеет имя name, и содержит фамилии людей. Необходимо создать скрипт index.php, который при первом обращении выводит весь русский алфавит и формирует список букв в виде ссылок ссылкок в том случае, если в таблице есть фамилии, начинающиеся на эти буквы. Если фамилий с такой буквой нет - буква должна выводится не подсвеченая.
Нажатие на букву-ссылку вызывает опять index.php, который сначала выводит вышеописанную конструкцию, а под ней выводит список, состоящий только из num (пусть для определённости 3) фамилий, начинающихся на выбранную букву. Если общее количество фамилий превышает num, то необходим вывести ссылки на страницы с продолжением этого списка.
Каждая фамилия в списке является ссылкой, нажатие на которую вызывает снова index.php. Теперь, кроме всего вышеописанного, добавляется еще "карточка" выбранного человека, состоящая из перечисления названий всех полей в таблице и соответствующих значений.
Замечание Число и название полей в таблице могут быть произвольными - скрипт должен самостоятельно определять их число и названия.
Для проверки работоспособности скрипта можно использовать следующую таблицу:
CREATE TABLE name (
id_name int(11) NOT NULL auto_increment,
name tinytext NOT NULL,
description text NOT NULL,
PRIMARY KEY (id_name)
) TYPE=MyISAM;
INSERT INTO name VALUES (1, 'Иванов', 'Описание для фамили Иванов');
INSERT INTO name VALUES (2, 'Петров', 'Описание для фамили Петров');
INSERT INTO name VALUES (3, 'Сидоров', 'Описание для фамили Сидоров');
INSERT INTO name VALUES (4, 'Выбегайло', 'Описание для фамили Выбегайло');
INSERT INTO name VALUES (5, 'Олейник', 'Описание для фамили Олейник');
INSERT INTO name VALUES (6, 'Пронин', 'Описание для фамили Пронин');
INSERT INTO name VALUES (7, 'Волошин', 'Описание для фамили Волошин');
INSERT INTO name VALUES (8, 'Симдянов', 'Описание для фамили Симдянов');
INSERT INTO name VALUES (9, 'Кузнецов', 'Описание для фамили Кузнецов');
INSERT INTO name VALUES (10, 'Голышев', 'Описание для фамили Голышев');
INSERT INTO name VALUES (11, 'Лебедев', 'Описание для фамили Лебедев');
INSERT INTO name VALUES (12, 'Торянов', 'Описание для фамили Троянов');
INSERT INTO name VALUES (13, 'Першин', 'Описание для фамили Першин');
INSERT INTO name VALUES (14, 'Кирилов', 'Описание для фамили Кирилов');
INSERT INTO name VALUES (15, 'Путин', 'Описание для фамили Пунит');
INSERT INTO name VALUES (16, 'Ельцин', 'Описание для фамили Ельцин');
INSERT INTO name VALUES (17, 'Немцов', 'Описание для фамили Немцов');
INSERT INTO name VALUES (18, 'Скляров', 'Описание для фамили Скляров');
INSERT INTO name VALUES (19, 'Симаков', 'Описание для фамили Симаков');
INSERT INTO name VALUES (20, 'Осипов', 'Описание для фамили Осипов');
INSERT INTO name VALUES (21, 'Суворов', 'Описание для фамили Суворов');
INSERT INTO name VALUES (22, 'Саблин', 'Описание для фамили Саблин');
INSERT INTO name VALUES (23, 'Тарасов', 'Описание для фамили Тарасов');
INSERT INTO name VALUES (24, 'Твардовский', 'Описание для фамили Твордовский');
INSERT INTO name VALUES (25, 'Сбруев', 'Описание для фамили Сбруев');
INSERT INTO name VALUES (26, 'Жарков', 'Описание для фамили Жарков');
INSERT INTO name VALUES (27, 'Самолётов', 'Описание для фамили Самолётов');
INSERT INTO name VALUES (28, 'Саутин', 'Описание для фамили Саутин');
INSERT INTO name VALUES (29, 'Сальников', 'Описание для фамили Сальников');
INSERT INTO name VALUES (30, 'Саушкин', 'Описание для фамили Саушкин');
INSERT INTO name VALUES (31, 'Соловьёв', 'Описание для фамили Соловьёв');
INSERT INTO name VALUES (32, 'Саркасов', 'Описание для фамили Саркасов');
INSERT INTO name VALUES (33, 'Савельев', 'Описание для фамили Савельев');
INSERT INTO name VALUES (34, 'Скоробейников', 'Описание для фамили Скоробейников');
INSERT INTO name VALUES (35, 'Сакрай', 'Описание для фамили Сакрай');
С ответами и обсуждением можно ознакомиться по ссылкам http://www.softtime.ru/forum/read.php?id_forum=7&id_theme=15487 http://www.softtime.ru/forum/read.php?id_forum=7&id_theme=15488 http://www.softtime.ru/forum/read.php?id_forum=7&id_theme=15489
|
|