【问题标题】:How to fetch the data from MySQL table in following situation?在以下情况下如何从 MySQL 表中获取数据?
【发布时间】:2014-02-03 04:17:39
【问题描述】:

我的数据库中有一个名为 user_transaction 的表。实际表的字段太多,但我遇到问题的字段如下:

Column : transaction_status
Type   : enum('success', 'inprocess', 'fail', 'cancelled')

现在的场景是 HTML 表单上有四个复选框,用于四种交易状态。当用户选中一个或多个复选框时,他/她应该使用他/她选中的复选框(或多个复选框)获得所需的交易。为了从表中获取数据,如果选中了checkbox inprocess和success,我编写了以下查询。

SELECT  transaction_user_id, transaction_no, transaction_total_amount, transaction_date, 
transaction_status 
FROM   OCN.user_transaction 
WHERE transaction_date >=  '949516200'  AND transaction_date <=  '1391452199' 
AND transaction_status  = "inprocess" OR transaction_status  = "success" 
ORDER BY  transaction_date LIMIT 0, 20

上述查询预计会返回交易状态为成功或进行中的交易,但它什么也不返回。如果我选择其他两个或所有复选框也是同样的情况。有人可以在这方面帮助我吗?

【问题讨论】:

  • transaction_date的类型是什么?

标签: php mysql sql checkbox


【解决方案1】:

您需要在多个条件句周围加上括号。

 SELECT  transaction_user_id, transaction_no, transaction_total_amount, transaction_date, transaction_status FROM   OCN.user_transaction WHERE transaction_date >=  '949516200'  AND transaction_date <=  '1391452199' AND (transaction_status  = "inprocess" OR transaction_status  = "success") ORDER BY  transaction_date LIMIT 0, 20

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    相关资源
    最近更新 更多