Php 如何根据单独表格中显示的值在选择输入中显示结果?

Php 如何根据单独表格中显示的值在选择输入中显示结果?,php,sql,procedural,Php,Sql,Procedural,我有三张桌子,我只是在想办法让这一切顺利进行 tbl_活动有“id”和“活动”两列。这是一个相当直接的例子,它只是一个ID号自动递增的活动名称,所以它们有唯一的ID tbl_用户有一个“id”列,因此每个用户都有一个唯一的id号,这是标准的 tbl_权限在创建新用户时创建新行。这意味着其“id”列具有唯一的id值,与“tbl_用户”中的用户id匹配。列的命名与每次创建新活动时活动的ID值相匹配,例如,“活动1”列与ID为1的“tbl\U活动”中的活动相关。其思想是,该表数据用1或0填充 如果ID

我有三张桌子,我只是在想办法让这一切顺利进行

tbl_活动
有“id”和“活动”两列。这是一个相当直接的例子,它只是一个ID号自动递增的活动名称,所以它们有唯一的ID

tbl_用户
有一个“id”列,因此每个用户都有一个唯一的id号,这是标准的

tbl_权限
在创建新用户时创建新行。这意味着其“id”列具有唯一的id值,与“tbl_用户”中的用户id匹配。列的命名与每次创建新活动时活动的ID值相匹配,例如,“活动1”列与ID为1的“tbl\U活动”中的活动相关。其思想是,该表数据用1或0填充

如果ID为1的行的列“campaign_1”的编号为1,则ID为1的用户将被批准参与campaign表中ID为1的活动。如果为0,则不允许使用它。同样的逻辑也适用于“活动2”、“活动3”等列

无论如何,我遇到的问题是在前端显示这些信息,因为我只希望用户能够在下拉列表中看到他们获准运行的活动。当用户登录时,它会将其用户ID存储在会话中,我不确定是否有办法使用此方法


有没有办法绕过这个问题?请注意,我已经在程序化PHP中完成了这项工作,因为我还处于早期阶段,所以如果有人能够提供类似的解决方案,我将不胜感激。抱歉,如果有点混乱的话。我知道这有点笨手笨脚,但我只是想让它先工作。

我认为这样做的最佳实践如下:
-创建HTML以向用户显示(如果您没有,请告诉我,以便我可以使用您可以使用的HTML)
-创建JS存档,负责调用PHP文件,并在HTML中显示结果(如果您不知道如何创建,请告诉我,以便我可以帮助您)
-创建PHP文件,这将负责查询您的数据库,并给出所需的结果供您选择(如果您不知道如何制作,请告诉我)


这很容易做到,如果您需要更多帮助,请告诉我。

我认为您的模式需要改进,因为不必每次添加新活动时都更改表结构

  • 保持表tbl_活动和tbl_用户不变
  • 使用4个字段(id、用户id、活动id和权限)创建表tbl_权限
  • 要检查用户是否具有权限,请使用以下查询:

    SELECT permission FROM tbl_permissions WHERE user_id = ? AND campaign_id = ?
    

    因此,每次创建活动时,都会向tbl_权限表添加相应的记录。无需添加新列。

    示例数据、所需结果和适当的数据库标记都会很有帮助。“例如,“活动1”列与ID为1的“tbl\U活动”中的活动相关。不要这样做。作为应用程序日常操作的一部分(即插入新的活动行时),您不必修改架构(即添加新列),而是创建一个.Cheers-Alex,经过编辑,这样就不必再这样做了。我确实认为这是一个糟糕的练习,但不完全确定是否有其他方法可以解决这个问题。谢谢这个曼尼,这是一个更好的方法。我来试试。谢谢你的贡献。我已经准备好了所有这些,我想我现在已经有足够的时间去做了