|
|
21.07.2007, 02:43
|
|
MatrixMaster
Зарегистрирован: 2007-06-09
Сообщений: 24
|
Здравствуйте
Есть наброски будущего сайта вакансий. Есть шаблон для добавления вакансии в базу, в нем есть поле типа "Строка" вида select (выражено через функцию ns_list_select) с названием "Срок актуальности вакансии (дней)*" и значение этого поля из списка: 3 дня, 7 дней, 14 дней, 30 дней. Нужно ограничить срок публикации вакансии в зависимости от значения поля (3 дня и т.д.). Также в поиске вакансий нужно реализовать выборку вакансий в соответствии со значениями этого поля. Возможно ли это реализовать средствами NetCat ?
|
|
|
23.07.2007, 11:04
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
MatrixMaster писал(а):Возможно ли это реализовать средствами NetCat ?
Да, возможно.
Temet nosce...
|
|
|
23.07.2007, 17:52
|
|
MatrixMaster
Зарегистрирован: 2007-06-09
Сообщений: 24
|
А поподробнее каким образом это реализовать?
|
|
|
24.07.2007, 11:19
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
А в чем именно трудность-то? У Вас есть дата добавления вакансии, делаете фильтр в виде списка (листбокс обычный): 3,5,7,все... Далее в системных настройках шаблона обрабатываете переменную фильтра, и в зависимости от ее значения налагаете на выборку из базы определенные условия. Если хотите чтобы "старые" вакансии удалялись, либо скрывались - напишите свой скриптик и запускайте его через планировщик заданий.
Temet nosce...
|
|
|
26.07.2007, 04:15
|
|
MatrixMaster
Зарегистрирован: 2007-06-09
Сообщений: 24
|
у меня имеется список где указаны значения срока публикации вакансий, там указаны четыре значения: 3,7,14,30 дней, у значений списка есть идентификаторы, соответственно 1,2,3,4.
Пользователь заполняет форму добавления вакансии, выбирает из поля select (которое выражено в шаблоне через ns_list_select) подходящее значение, оно сохраняется в переменную $f_srok в виде идентификатора.
Далее для того чтобы мне сортировать по времени публикации я в системных настройках шаблона должен написать следующее...
if ($f_srok == 1) $query_where = "f_Created... что же мне дальше в запросе написать?
|
|
|
26.07.2007, 10:49
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
MatrixMaster писал(а):Далее для того чтобы мне сортировать по времени публикации я в системных настройках шаблона должен написать следующее...
if ($f_srok == 1) $query_where = "f_Created...
Ну, во-первых, - сортировка задается в переменной $query_order, а не в $query_where (читай мануал).
Во-вторых, вы изначально указали
Цитата:Нужно ограничить срок публикации вакансии в зависимости от значения поля (3 дня и т.д.). Также в поиске вакансий нужно реализовать выборку вакансий в соответствии со значениями этого поля
зачем Вам сортировка, если Вам нужен только фильтр по этому полю? Если юзер задал в фильтре "30 дней", то он все эти записи и увидит. Есть смысл сортировать их только по дате добавления по убыванию.
Задача-то примитивна сама по себе.
Дано:
1. Дата добавления вакансии
2. Срок ее публикации в днях
Надо:
1. Сделать возможность просмотра вакансий с учетом их отбора по сроку публикации
Решение:
Вариант 1:
Добавляете поле DateEnd, туда при добавлении вакансии заносите дату = Дата добавления вакансии + Срок ее публикации в днях. Далее при фильтре Вам нужно выводить все записи с полем DateEnd >= текущее время.
Вариант 2:
При формировании sql запроса Вам нужно поставить условие: выводить записи с Created >= текущее время - Срок ее публикации в днях, типа вот такого:
Код:
$query_where = "Created >= now() - interval 30 day";
Temet nosce...
|