Всем привет. Сделал несколько скриптов на php, но возникла проблема. Если значение необходимо выбирать из таблицы-справочника, то для небольших справочников можно формировать select. Но как быть с большими справочниками, в которых необходим поиск? Куда смотреть?
Ну, например, можно сделать всплывающую форму поиска на ajax'е. --- Добавлено --- Или всплывающий список с пагинацией. --- Добавлено --- Или и то, и другое вместе.
Это буду учить, а если пока сделаю тупо на php? Хранить выбранные значения в сессии. Пользователей именно этого функционала не более двух, так что сервер нагружен не будет. Нет тут каких-либо подводных камней?
Грубо говоря, есть две таблицы по несколько тысяч записей (Т1 и Т2), и нужно в третью таблицу добавить дату, еще пару полей и по одному значению из таблиц Т1, Т2.
И? Что вам нужно, я понял. Я у вас спросил, как вы собираетесь большие справочники пользователю показывать, если только не предложенными мной способами? --- Добавлено --- В принципе их можно целиком отправлять со страницей, чтобы не использовать ajax, но это будет слишком большая и по большей части бесполезная нагрузка. --- Добавлено --- ...А отображать тем же способом, о котором я выше писал. --- Добавлено --- Или сделать «перекрытие» на всю страницу и отображать все элементы справочника разом. Все равно они уже все доставлены клиенту
Я не успею выучить javascript за несколько дней, а сделать нужно сейчас какой-нибудь временный вариант. Думаю хранить в сессии id обрабатываемой записи и по кнопке вызова справочника открывать новую страницу с данными справочника, и с возможностью поиска. После выбора значение заносится в сессию и открывается страница с данными записи с сохраненным id, но уже с выбранным полем из справочника. Для юзера создается иллюзия, что он вернулся на предыдущую страницу после выбора записи из справочника.
Костыль. Данные основной формы могут быть изменены, но не сохранены. Тогда уж лучше сделать многоэтапный диалог, где данные из справочников будут выбираться на первых этапах.
Можно и многоэтапная форма, но в моем случае костыль тогда лучше подходит. Да и при вызове справочников можно сохранять в сессии данные формы, а при возврате - восстанавливать.
Я говорю, что пользователь может успеть что-то отредактировать в форме, прежде чем обратиться к справочникам. Тогда внесенные им изменения будут потеряны. Подобные изменения можно отлавливать опять-таки только на JS, поэтому я вам и предложил реализовать работу со справочниками обязательно на первых этапах диалога. --- Добавлено --- P.S. При выборе элементов в справочниках можно спокойно обойтись без каких-либо хранилищ. При выборе очередного элемента добавляйте его идентификатор к адресу след. диалога.
Ну вперед. Если кому-то что-то непонятно в сказанном мной, это его проблемы. Разжевывать я не нанимался.