如何在以下情况下从MySQL表中获取数据?

时间:2014-02-02 20:14:06

标签: php mysql sql checkbox

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

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

现在的情况是,HTML表单上有四个复选框,用于四种交易状态。当用户检查一个或多个复选框时,他/她应该使用他/她已选中的复选框(或复选框)获得所需的交易。为了从表中获取数据,如果选中了进程和成功中的复选框,我写了下面的查询。

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

上述查询应该返回事务状态为成功或进程的事务,但它不返回任何内容。如果我选择其他两个或所有复选框,也是相同的情况。有人可以帮我这方面吗?

1 个答案:

答案 0 :(得分:0)

你需要围绕多种条件的括号。

 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