Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Списки в селектах - как реализовать?


Автор: Esco 22.7.2008, 21:00
Други!
прошу помощи - застрял...

Нужно реализовать манипуляцию со списками.
Не знаю как правильно назвать...
Вообщем прикладываю картинку - будет понятно.

Между двумя селектами нужно перебрасывать туда-сюда выбранную запись.

Кроме JavaScript на чем это можно реализовать? Т.к. списки большие - несколько тысяч записей - JavaScript будет тормозить и не очень надежен.

Может кто-нибудь видел какой-нить готовый виджет или еще чего?

Автор: Feldmarschall 22.7.2008, 21:01
можно реализовать на PHP

Автор: Fortop 22.7.2008, 21:18
Esco, 
несколько тысяч записей в любом случае будет тормозить и загружать страницу

Я бы предложил или фильтрацию или автокомплит.
А можно и то и другое сразу.

Автор: Esco 22.7.2008, 22:38
не представляю как реализовать на пхп...
вот есть готовый класс http://forum.oszone.net/post-350772-25.html - может кому пригодится..
собственно перекидывание списков на javascript
но для 2000-3000 записей тормозит нереально.
перекинуть 1 записи из списка в 3000 записей занимает 4 сек. много...

Чет не могу ничего придумать что еще можно использовать.
С динамической подгрузкой на Аяксе - такие же тормоза получатся...

Автор: Fortop 22.7.2008, 23:02
какая длина строки в списках у тебя?
попробуй для автокомплита вот это http://plugins.jquery.com/project/autocompletex

Автор: bifidokk 23.7.2008, 07:56
Цитата(Esco @ 22.7.2008,  20:38)
не представляю как реализовать на пхп...

если только создать 2 временные таблицы и перекидывать из одной в другую, подгрузку на аяксе сделать. я только так вижу решение с помощью php.

Автор: ki22 23.7.2008, 15:48
PHP здесь не при чем, чтобы не тормозило это надо делать на клиенте, примерно так:
1. Вместо списков рекомендую ДИВы - ДИВ список, в нем ДИВ страница, в нем ДИВы элементы
2. При загрузке - загружаем только 1е страницы (LIMIT x, x-число пунктов в стр.), остальные страницы выводим пустые (кол-во страниц count(*)/x)
3. При скроллинге вычисляем какие страницы видимые и через AJAX вдуваем в них элементы (OFFSET y LIMIT x)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)