|
|
03.03.2015, 18:15
|
|
Гость
Гость
|
Здравствуйте!
Решаю задачу с выборкой объектов из двух таблиц. В одной объекты, в другой даты и статус даты.
пересечение по полю Code.
Пользователь задаёт диапазон дат и нужно вывести те объекты, у которых даты не попадают в указанный пользователем диапазон дат. Если дата попадает, то надо проверить статус даты и если у даты стоит статус 1 то объек можно показать, если статус 0, то всёже нельзя.
$datesearchbegin - 1-ая дата диапазона пользователя
$datesearchend - 2-ая дата диапазона пользователя.
Что сделал:Код:
$busydate = $nc_core->db->get_results("SELECT `Code`, `busydate`, `typedate` FROM `Message2001`", ARRAY_A );
$datesearchot=strtotime($datesearchbegin);
$datesearchdo=strtotime($datesearchend);
foreach ($busydate as $i )
{
$dateobj=strtotime($i[busydate]);
if (dateobj == $datesearchot) {
if ($i[typedate]==0 ){
$noshow=$noshow."'".$i[Code]."',";
}
}
if (dateobj == $datesearchdo) {
if ($i[typedate]==0 ){
$noshow=$noshow."'".$i[Code]."',";
}
}
}
$noshow=mb_substr($noshow, 0, -1);
if ($noshow!=""){
$query_where="a.Code NOT IN ($noshow)";
}
|
|
|
03.03.2015, 18:19
|
|
Гость
Гость
|
Но, похоже что если пользователь ищет к примеру с 15 марта по 30 марта, а в таблице есть даты с 20 по 25 марта со статусом 0, то объект с этими датами всё равно выводится. Как его всёже исключить?
Подскажите, пожалуйста!
Спасибо!
|
|
|
03.03.2015, 19:41
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Добавить в SQL запрос WHERE Checked=1
Для последующего ответа с моей стороны вам придется авторизоваться
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
03.03.2015, 20:14
|
|
Гость
Гость
|
Под статусом понимается не включен/выключен объект, а статус объекта в эту дату.
|
|
|
08.03.2015, 15:39
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
В приведенный код глубоко не вникал, но бросается в глаза, что не у всех переменных указан значок $. Вы уже исправили эту ошибку?
|
|
|
11.03.2015, 12:22
|
|
Гость
Гость
|
Цитата:В приведенный код глубоко не вникал, но бросается в глаза, что не у всех переменных указан значок $. Вы уже исправили эту ошибку?
Да, исправлена, но работает не совсем так как надо.
|