Как Вы используете автоматическое заполнение для тысяч записей?

Существует ли способ установить автоматическое заполнение в PHP/jQuery, который может быстро пробежать тысячи строк в базе данных?

У меня есть служба по трудоустройству, где пользователь вводит его колледж - и я хочу предложить автоматическое заполнение. Проблема, существует 4 500 колледжей в Соединенных Штатах и казаться как ужасное решение.

Существует ли хороший способ и сделать запрос быстро и результаты возврата только, когда существует меньше чем 10 доступных опций?

Заранее спасибо, Walker

7
задан Walker 23 June 2010 в 22:41
поделиться

5 ответов

Я согласен с Анаксом. Возможно, вы захотите взглянуть на простое решение, такое как новое поле автозаполнения jQuery UI .

Используя параметры delay и minLength, вы можете запретить сценарию опрашивать сервер до тех пор, пока пользователь не введет, скажем, три символа, что уменьшит количество результатов.

PS. Также есть опция кеширования, которая может быть полезна. Вы можете кэшировать весь список на стороне клиента, уменьшив количество обращений к базе данных.

5
ответ дан 7 December 2019 в 01:15
поделиться

Лучше всего использовать AJAX, учитывая количество записей. По сути, вам нужно отслеживать нажатия клавиш и вызывать скрипт PHP, который, в свою очередь, извлекает соответствующие записи из базы данных.

Хорошим примером может служить dhtmlxCombo .

3
ответ дан 7 December 2019 в 01:15
поделиться

Вы можете сначала запросить другие квалификаторы, такие как «желаемый регион / штат», «специальность» и т. Д., А затем начать автозаполнение после того, как пользователь введет 6 или более символов, чтобы отфильтровать больше из 4500 колледжей?

2
ответ дан 7 December 2019 в 01:15
поделиться

4500 - это не слишком много, в зависимости от вашего оборудования / количества пользователей / того, как часто он действительно вам нужен, вы можете сохранить список в памяти ( механизм памяти MySQL как пример).
Но, как уже было сказано, когда вы получаете результаты только тогда, когда есть 3 буквы +, у вас может вообще не быть проблемы.

0
ответ дан 7 December 2019 в 01:15
поделиться
0
ответ дан 7 December 2019 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: