Существует ли способ установить автоматическое заполнение в PHP/jQuery, который может быстро пробежать тысячи строк в базе данных?
У меня есть служба по трудоустройству, где пользователь вводит его колледж - и я хочу предложить автоматическое заполнение. Проблема, существует 4 500 колледжей в Соединенных Штатах и казаться как ужасное решение.
Существует ли хороший способ и сделать запрос быстро и результаты возврата только, когда существует меньше чем 10 доступных опций?
Заранее спасибо, Walker
Я согласен с Анаксом. Возможно, вы захотите взглянуть на простое решение, такое как новое поле автозаполнения jQuery UI .
Используя параметры delay и minLength, вы можете запретить сценарию опрашивать сервер до тех пор, пока пользователь не введет, скажем, три символа, что уменьшит количество результатов.
PS. Также есть опция кеширования, которая может быть полезна. Вы можете кэшировать весь список на стороне клиента, уменьшив количество обращений к базе данных.
Лучше всего использовать AJAX, учитывая количество записей. По сути, вам нужно отслеживать нажатия клавиш и вызывать скрипт PHP, который, в свою очередь, извлекает соответствующие записи из базы данных.
Хорошим примером может служить dhtmlxCombo .
Вы можете сначала запросить другие квалификаторы, такие как «желаемый регион / штат», «специальность» и т. Д., А затем начать автозаполнение после того, как пользователь введет 6 или более символов, чтобы отфильтровать больше из 4500 колледжей?
4500 - это не слишком много, в зависимости от вашего оборудования / количества пользователей / того, как часто он действительно вам нужен, вы можете сохранить список в памяти ( механизм памяти MySQL как пример).
Но, как уже было сказано, когда вы получаете результаты только тогда, когда есть 3 буквы +, у вас может вообще не быть проблемы.