首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CURDATE()过滤器在搜索表单上不起作用

CURDATE()过滤器在搜索表单上不起作用
EN

Stack Overflow用户
提问于 2016-01-01 05:04:31
回答 1查看 60关注 0票数 0

我有一个网站,我正在为一个客户,其中用户可以搜索优惠券,搜索是有效的,但即使我有一个日期说明在那里,并检查优惠券是否有效,所有的优惠券餐厅显示…我搞不懂这件事。下面是我的问题:

代码语言:javascript
复制
include('includes/insert_saved_coup.php');
include('includes/connection.php'); 
global $con;

if(isset($_SESSION['user_id'])) {

if(isset($_POST['search_sub'])) {

$term = mysqli_real_escape_string($con,$_POST['term']);

    $get_rest = "SELECT * 
                FROM menu_restaurants"; 

    $run_rest = mysqli_query($con,$get_rest); 
    $row_rest = mysqli_fetch_array($run_rest);

    $get_results = "SELECT * 
                    FROM menu_coupons
                    WHERE coupon_expire > CURDATE()
                    AND coupon_desc LIKE '%".$term."%'
                    OR coupon_rest LIKE '%".$term."%'
                    OR coupon_title LIKE '%".$term."%'
                    OR coupon_amount LIKE '%".$term."%'
                    OR coupon_tag_one LIKE '%".$term."%'
                    OR coupon_tag_two LIKE '%".$term."%'
                    OR coupon_city LIKE '%".$term."%'
                    OR coupon_state LIKE '%".$term."%'
                    AND coupon_status = 'active'";

    $run_results = mysqli_query($con,$get_results);
    while($row_results = mysqli_fetch_array($run_results)) {

coupon_expire字段是日期字段,而coupon_status字段是可变字符...我有一个cron每天运行在我的phpmyadmin更新状态字段,以显示已过期...但是,当运行搜索时,它将显示该餐厅/城市/术语的所有优惠券,即使该优惠券已过期或处于活动状态。

有什么想法吗?(我有一种感觉,我的问题就是这样)

EN

回答 1

Stack Overflow用户

发布于 2016-01-01 05:14:30

问题是您混合了AND / OR条件,而ANDOR具有更高的优先级。尝试使用圆括号将WHERE条件块括起来,如下所示

代码语言:javascript
复制
                  SELECT * 
                    FROM menu_coupons
                    WHERE coupon_expire > CURDATE()
                    AND coupon_status = 'active'
                    AND ( coupon_desc LIKE '%".$term."%'
                    OR coupon_rest LIKE '%".$term."%'
                    OR coupon_title LIKE '%".$term."%'
                    OR coupon_amount LIKE '%".$term."%'
                    OR coupon_tag_one LIKE '%".$term."%'
                    OR coupon_tag_two LIKE '%".$term."%'
                    OR coupon_city LIKE '%".$term."%'
                    OR coupon_state LIKE '%".$term."%' );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34551575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档