|
|
|
| Всем привет, что-то не могу разобраться.
Есть поля поиска, допустим: имя, фамилия, должность (выпадающий список [берем id]). Т.е. на странице три поля, куда люди вводят информацию и жмут "Искать".
Есть две таблицы.
Пользователи: id | name | family
и
Места работы: id | iduser | doljnost (в doljnost хранится id должности из третьей таблицы)
(также есть таблица со списком должностей, вида - id | name, именно из неё в поиске формируется выпадающий список, но в запрос к БД идет уже id должности, который хранится в таблице "Места работы").
Смысл поиска таков: вводят имя или фамилию (могут только начало фамилии или имени, используется like), и уже на этом этапе можно отправлять запрос. В ответ нужно получить сформированный результат, который будет включать: Имя Фамилия + столбиком места работы найденного пользователя (берутся из таблицы "Места работы"), и так для каждого найденного по запросу пользователя. В тот же момент могут выбрать только должность, и также нужно вывести всех пользователей, которые подходят под должность. Могут заполнить и все поля - здесь вообще не понятно, т.к. вводят имя и фамилию, их id какбы не известны, но среди этих id нужно найти подходящие должности для пользователя. Вообщем нужен поиск, который будет как-то связывать это в таком режиме.
Буду рад любым ссылкам и примерам, мыслям и наставлениям.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: daybyday
(20.07.2011 в 10:15)
| | Для этого обычно используют объединение таблиц, можно начать отталкиваться от следующего запроса
SELECT
user.name AS name,
user.family AS family,
doljnost.name AS name
FROM
user
LEFT JOIN
job
ON
user.id = job.iduser
LEFT JOIN
doljnost
ON
job.doljnost = doljnost.id
WHERE
user.name = 'Имя' AND
user.family = 'Фамилия' AND
doljnost.id = 4
|
| |
|
|
|