Как правильно сделать автоподстановку имени и фамилии из базы?
Здравствуйте!
Столкнулся со следующей проблемой. Есть внутренний сайт организации, на котором размещены описания проектов, как текущих, так и архивных. У проектов есть люди, которые так или иначе к ним относятся. Так называемые "контакты". Это отдельная таблица примерного вида:
name, surname, post, phone, organization_id
Суть задачи следующая: нужно у проекта сделать форму добавления контактов таким образом, чтобы можно было добавить несколько контактов, если такой контакт в базе существует, то форма должна предложить выбрать именно этого человека, если же нет, то человек должен быть добавлен в базу (можно только name, surname). И кнопочку "Добавить ещё один контакт", которая генерирует ещё такие же поля.
Если это будет единственное поле ввода, в котором будут и имя и фамилия, тогда как определить в каком порядке пользователь написал: имя+фамилия или фамилия+имя? И избежать дублирующих записей в БД (например Иван Сидоров, Сидоров Иван)?
Если это будут два поля, тогда как должная работать автоподстановка в условиях, когда в базе присутствуют однофамильцы?
Как я это вижу:
Ну, все таки два поля для приведения к одному виду.
Пусть поле имя будет первое, по нему поиск осуществляться не будет, а на поле фамилии вешать onchange обработчик, который ajax'ом будет через mysql LIKE на серваке искать соответствия по имени и фамилии и выдавать обратно в форму соответствия, если такой найден.