我正在撰写在线表格。在用户填写此表单之前,系统会要求他选择表单类型和表单年份。这些值分别放在$ formType和$ year中。
我想阻止用户两次提交相同的表单,即如果用户尝试提交2011年的表单A,并且数据库中已存在表单,那么他将无法这样做。
因此我需要一个带有两个条件的SELECT COUNT函数,从php变量中获取。 到目前为止,我已经设法在SQL中执行此操作,但仅在使用一个条件时,如下所示:
SELECT COUNT(`formType`)
FROM `table1`
WHERE `formType` = '$formType' ;
然而,当我试图过滤这两个条件时,它不起作用。代码如下:
SELECT COUNT(*)
FROM (
SELECT DISTINCT 'year', 'formType'
FROM `table1`
WHERE `year` = '$year' AND 'formType' = '$formType')
有什么想法吗?非常感谢
答案 0 :(得分:1)
为什么你认为你需要一个子查询?以下应该做
SELECT COUNT(*)
FROM `table1`
WHERE `year` = '$year' AND `formType` = '$formType'
您可能希望每年允许一个表单类型每个用户,因此您希望在查询中添加第三个条件,例如AND userID = xx
(除非每个用户有一个表)。 / p>
答案 1 :(得分:0)
使用'或'代替'和'
select count (*)
from table1
where (year = $year) or (formtype = $formtype)