如何比较不同的列得到相同值的计数

时间:2018-03-23 18:40:54

标签: php mysql sql

我有一个网络表单。如果用户没有提交过一次,我想显示网络表单。如果他在表格之前提交了它,就不会出现。我在sql中有一个表,如下所示:

| userID | topicId | Date |
|  2     |  1      | 2018 |
|  2     |  5      | 2018 |
|  2     |  4      | 2018 |
|  2     |  8      | 2018 |
|  2     |  9      | 2018 |

我的表单位于PHP,我正在努力编写脚本,该脚本可以提供topicId提交的userID计数。所以:

  • 如果计数小于1,则向他显示主题网络表单;
  • 如果计数大于1:不要向他显示相同的主题网页表单。

到目前为止,我有这个:

 $query = $dbh->prepare("SELECT count(userID) from topicCountTable GROUP BY topicId");
$query->execute();
$row1 = $query->fetchAll();
if (count($row1) >1){
     echo "Sorry you already submitted this topic";
}
else{
        <form>
                 ......
       </form>
 }

但出于某种原因,我的脚本无效

1 个答案:

答案 0 :(得分:0)

您是否在SQL中检查了查询?

如果你正在使用GROUP BY topic_id并且你正在寻找特定的topic_id值计数,那么topic_id应该在SELECT部分​​中:

SELECT topicId, count(userID) from topicCountTable GROUP BY topicId

您可能还想在WHERE中的查询中指定您要查找的user_id,例如。

SELECT topicId, count(userID) from topicCountTable WHERE userID = 2 GROUP BY topicId