Регистрация
Вход через соцсети
Восстановление пароля

Как ограничить вакансию по времени публикации...

Новый топик
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
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
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
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...
198 196 2007-07-26 10:49:15 9042
Описание проекта