|
|
|
| Здравствуйте, PHP-программисты
Я еще новичок, поэтому добросовестно искал готовые решения для такой казалось бы стандартной задачи - представить записи некоторой таблицы БД в виде html-таблицы с определенными заголовками
столбцов, желательно с фиксацией шапки таблицы при вертикальной прокрутке записей и фиксацией
первых колонок при горизонтальной прокрутке столбцов. Не нашел таких решений, но прежде чем приниматься за самостоятельную разработку РНР-класса, хотел бы спросить - плохо я искал ?
В моем представлении такой РНР-класс должен иметь свойства, в которых задаются имена таблицы и ее полей, значения которых должны быть представлены в html-таблице, параметры стилей представления и т.д. | |
|
|
|
|
|
|
|
для: Деркачев
(22.07.2008 в 16:31)
| | Здравствуйте, я не программист.
Какой класс? Выборка из базы и создание хтмл таблицы- это 10 строк кода.
А вот насчёт прокрутки неясно... если вниз крутанули, то в бок уже нельзя? Какой смысл в такой прокрутке? Может вы имели ввиду отсутствие прокрутки шапки по вертикали, а левой колонки по горизонтали?
(в любом случае это уже яваскрипт) | |
|
|
|
|
|
|
|
для: Valick
(22.07.2008 в 19:59)
| | 1. О прокрутке - я имею ввиду такой режим просмотра таблицы на экране монитора, кокй обеспечивает, например EXCEL, когда в его таблице закрепляешь строку и колонку - все строки выше и все колонки левее при прокрутке остаются видимыми
2. О коде. Поверьте, я хоть и новичок в PHP, но матерый программист в VFP, Си и подобные представления записей таблицы программировал не раз, поэтому и считаю, что класс для подобной задачи нужен и в PHP, т.к. реально это не 10 строк кода, а много больше, если говорить об удобном для просмотра, навигации, отборов и т.д. представлении записей. В VFP, например мой класс на основе GRID составляет примерно 1000 строк | |
|
|
|
|
|
|
|
для: Деркачев
(23.07.2008 в 08:56)
| |
2. О коде. Поверьте, я хоть и новичок в PHP, но матерый программист в VFP,
Си и подобные представления записей таблицы программировал не раз, поэтому и считаю,
что класс для подобной задачи нужен и в PHP, т.к. реально это не 10 строк кода,
а много больше, если говорить об удобном для просмотра, навигации, отборов и т.д.
представлении записей. В VFP, например мой класс на основе GRID составляет примерно
1000 строк
|
PHP - это надстройка над Cи, и большая часть этих 1000 строк уже будет внутри функций.
Это может и не 10 строк кода, но 100 уж точно хватит.
И создание класса в данном случае сомнительно, это рядовая функция будет с неколькими параметрами. | |
|
|
|
|
|
|
|
для: Деркачев
(23.07.2008 в 08:56)
| | Я Вам верю.
Но 10 (утрированно) строк РНР кода (генерящего "тонну" хтмл) на стороне сервера и 90 строк яваскрипт на стороне клиента в сумме и дадут "тонна"+90 строк)) Каким образом яваскрипт попадёт на компьютер конечного пользователя (согласен скорее всего придётся генерить всё тем же РНР, а это + ещё 50 строк) это уже другой вопрос.
Естественно о конкретном количестве строк речь пока не идёт. | |
|
|
|
|
|
|
|
для: Valick
(23.07.2008 в 10:05)
| | PHP код не генерит тонну хтмл, иначе он был бы вообще не нужен. Он генерит только то, что выдается в браузер клиента, а ява скрипт придет клиенту в хтмл коде | |
|
|
|
|
|
|
|
для: GeorgeIV
(23.07.2008 в 11:50)
| | Можно генерить явускрипт, а можно подключить внешним файлом, я это имел ввиду. | |
|
|
|
|
|
|
|
для: Valick
(23.07.2008 в 12:07)
| | Думаю, тему можно закрыть. Вижу, что общее мнение - не разрабатывать класс, а для каждой таблицы БД писать свой код.
Вчера я все-таки нашел в Инете несколько скриптов для администрирования БД MySql как раз с функциями, о которых я говорил. Самый простой пакт скриптов содержит 300 строк кода, а более сложный, с большим количеством параметров настроек (стилей представления, количества колонок, их ширины и т.д. и.т.д ) имеет объем 450 К, что примерно составит 5000 строк кода
Так что класс нужен
Скажу, что найденные скрипты меня не удовлетворили по причине полного отсутствия комментариев и описаний (в сложном скрипте, правда, есть объемный readme на англ.языке, но думаю, что и англичанину с трудом удастся разобрать его)
О яве. Я не сторонник явы, т.к. не хочу, чтобы функционал моего сайта зависел от браузера пользователя. Вот дизайнерские фокусы можно доверить яве - даже если у пользователя ява отключена, то он всего лишь не оценит мои художественные вкусы, но информацию от меня получит, работать с моими формами сможет, отправить на сервер сфою информацию сможет
Так что готов поделится будущей разработкой PHP-класса | |
|
|
|
|
|
|
|
для: Деркачев
(23.07.2008 в 18:27)
| | Подобное без JS работать не сможет, т.к. действия происходят уже на стороне клиента. | |
|
|
|
|
|
|
|
для: Деркачев
(23.07.2008 в 18:27)
| | Где то вы глубоко заблужлдаетесь. И причем тут администрирование БД, если нужно просто нужно отформатировать сформированный вывод у клиента. И предыдущий автор прав, без явы все равно не обойтись, PHP на стороне клиента просто нет! | |
|
|
|
|
|
|
|
|
для: mihdan
(24.07.2008 в 10:59)
| | это извращение сортировать данные, которые получаются из базы, с помощью HTML и javascript! Проще отследить клик на заголовке и аяксовым запросом получить отсортированный список прямо из базы! минимум кода и заморочек
тот пример приведен скорей для текстовых данных. и то я бы их всосал в базу, а потом уже манипулировал, как надо | |
|
|
|
|
|
|
|
для: GeorgeIV
(24.07.2008 в 15:30)
| | Как минимум - спорно.
Вы уже получили выборку.
Теперь хотите разглядеть её и так и эдак.
Зачем нагружать сервер и гонять траффик еще раз, если можно обойтись клиентскими мощностями? | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2008 в 15:54)
| | а нагружать клиента таким кодом?
как показывает практика, обработка БД на сервере быстрее чем обработка на клиенте,
тем более что может быть искажена информация при таком варианте - если сортируем список с другого конца, то либо мы ддолжны ВЕСЬ список сразу загнать клиенту, либо получить сортировку только того, что ВИДИМ, вводя клиента в заблуждение | |
|
|
|
|
|
|
|
для: GeorgeIV
(24.07.2008 в 16:11)
| | >а нагружать клиента таким кодом?
А клиента можно нагружать любым кодом. Потому что клиентов много, а сервер - один.
>как показывает практика, обработка БД на сервере быстрее чем обработка на клиенте,
обработка на сервере вообще не будет запрошена.
Быстродействие алгоритмов клиента и сервера сравнивать вообще-то бессмысленно.
Не говоря уже о том, что Вы забываете про канал и издержки на нем.
>тем более что может быть искажена информация при таком варианте -
Это уж как представить клиенту выборку.
Еще раз. Я лишь протестовал против ярлыка "извращение" на методике вполне реальной и во многих случаях оправданной. | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2008 в 16:25)
| | не буду спорить, не работаю с БД, где вся база занимает несколько строчек на экране, что показать список с конца достаточно его пересортировать на экране. | |
|
|
|