WHERE publish = 1 AND(DATE(date_end_vip)>= CURRENT_DATE()OR DATE(date_end_vip)>= CURRENT_DATE())
pantela, пожалуйста, для запросов sql используйте sql-подсветку. (Добавление)
Чемп! ;)
pantela, типичная ошибка новичка. AND - это не объединение выборки, а объединение условия выборки. (Добавление) pantela, Champion, также советую не использовать в запросе лишних скобочек без надобности.
лучше не использовать такие функции - не будет кэширования
лучше " . date('Y-m-d') . "
----- Хостинг - неограниченно доменов на одну папку Ajax - отличное введение
Champion
Отправлено: 22 Августа, 2010 - 21:01:55
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Uchkuma пишет:
Champion, также советую не использовать в запросе лишних скобочек без надобности
Я просто скопировал запрос автора, оставил в нём авторские скобки и добавил снаружи свои)
Да и нет ничего страшного в них.
Uchkuma
Отправлено: 22 Августа, 2010 - 21:16:15
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
pantela пишет:
Немного не понял вас. как сделать. вот полная функция запроса:
И что? Не работает?
Champion пишет:
Я просто скопировал запрос автора, оставил в нём авторские скобки и добавил снаружи свои)
Да и нет ничего страшного в них.
Это скорее относится к вопросу оптимизации. Страшного может и ничего, но и смысла тоже никакого. Скобки в данном случае используют для объединения каких-либо условий, а заключение в скобки одного условия - по моему бред.
pantela
Отправлено: 22 Августа, 2010 - 23:37:15
Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Ну вот именно это часть не работает как надо:
т.е. 2 мне надо вывести объявления 2 вида через это 1 запрос
"WHERE publish = 1 AND DATE(date_end_std) >= CURRENT_DATE()";
Вот и не понял как их обединить по моей функции OR или AND или что там ещё и как не понял
JustUserR
Отправлено: 23 Августа, 2010 - 14:31:26
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
pantela пишет:
Вот и не понял как их обединить по моей функции OR или AND или что там ещё и как не понял
Если вам требуется объединить несколько логических условий определяющих вывод SQL-запроса по различным критериям - можно использовать обычный оператор OR в предварительным вынесением за скобку
Кроме того для оптимизации условий как правило можно использовать свойства операторов короткого замыкания - в частности аргументы в AND и OR устанавливаются в таком порядке чтобы расчет каждого из них происходил в порядке возрастания ресурсоемкости - именно по этой причине не всегда для логических выражений имеет смысл проводить предварительную склейку или поглощение
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
pantela
Отправлено: 23 Августа, 2010 - 17:18:46
Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Я очень рад что так теоритический обясняите, но вот не смог ли бы вы мне код прямо предостаивть запроса...
2 вида мне надо выводить. через 1 запрос. А OR вроде он тут будет как одно или второе, а AND как одно и второе.
но что то не так вроде, или я не праивльно понимаю...
Uchkuma
Отправлено: 23 Августа, 2010 - 17:36:10
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
pantela! Я и Champion вам все объяснили с примерами. Перечитайте выше и, пожалуйста, будьте внимательней.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
pantela пишет:
Я очень рад что так теоритический обясняите, но вот не смог ли бы вы мне код прямо предостаивть запроса
Для проверки правильности составления логического выражения вы можете использовать схему с избыточными скобками и операндами - в часности вы создаете отдельные группы условий и заключаете их в круглые скобки и объединяете их требуемой логической связкой - и после того как выражение станет работать необходимым образом можно осуществить раскрытие скобок и расстановку оперантов в порядке для операции короткого замыкания
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.