php - 使用 php/mySQL 查找特定行中的空白单元格

标签 php mysql

我正在尝试创建一个包含投票部分的网站。如果用户尚未投票,则需要能够参加之前的民意调查。因此,对于他们进行的每次民意调查,都会在单元格中添加一条注释。

表格看起来像这样:

userid   | poll1  | poll2  | poll3 | poll4  /
---------+--------+--------+-------+--------/
001      |   Y    |    Y   |       |        /
---------+--------+--------+-------+--------/
002      |   Y    |        |   Y   |        /
--------------------------------------------/

现在,代码必须为用户 001 选择轮询 3 和 4,并将其呈现给页面上的用户。我一直在尝试几种不同的方法,但似乎找不到正确的代码。

我在网上寻找了一些帮助,但没有找到任何可以解决此问题的内容。

最佳答案

用户

id | name
---+-------
 1 | tyrion
 2 | cersei

民意调查

id | name
---+-------
 1 | first poll
 2 | second poll

用户投票

user_id | poll_id
--------+-------
    1   |   1
    1   |   2
    2   |   2

在上面的表结构中,有两个主要对象表和一个名为 UserPolls 的关系表。对于您想要的任何数量的民意调查,这都可以很好地扩展。 然后,如果您想知道给定用户进行了哪些民意调查,您可以执行以下操作:

从 UserPolls 中选择 poll_id,其中 user_id = 1

或者如果你想要相反的结果。给定用户未进行的民意调查:

从 Polls.id NOT IN 的民意调查中选择 id(从 UserPolls 中选择 poll_id,其中 user_id = 1)

注意:这不是经过测试的代码,但您可以大致了解如何设计和规范化表格。

关于php - 使用 php/mySQL 查找特定行中的空白单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24050244/

相关文章:

mysql - 来自 2 个表的 SQL 连接,按来自第三个表的连接数据分组

mysql - 在 mysql 数据库中查找无效的 0000-00-00 日期

php - 基于足球队积分的特定 ID 上方和下方两行

php - 在 PHP 中将 session 存储在数据库中 - 不断收到 mysql 错误

php - 警告问题 : expects parameter 1 to be mysqli_result

mysql - 无法触发运行

mysql - 解析时间戳以获取小时数

php - SQLSRV PHP for SQL Server 不是有效的 Win32 应用程序

php - 通过 PHP/Curl 使用 CloudFlare API 返回错误

mysql - 安排导出到文本文件