php - 根据启用或禁用的多个模块状态对用户的页面访问
问题描述
我有一个场景,我有一个页表,并且该页面基于多个模块启用或禁用。一个页面可以依赖多个模块,一个模块又依赖于另一个模块。如果其中的任何模块被禁用,则该页面将被禁用。此外,如果页面本身被禁用,它不会带来记录。我在模块表和页表中有一个状态字段,它们都显示它是否启用。为此,我创建了一个中间表,用于存储依赖项。但是我在sql中没有找到任何方法可以做到这一点。如果您能给我一个更好的解决方案,请参阅下面的 sql 表。
1)文件表
file_id| file_name | file_title |display_in |dependent_on
1 |user_configuration.php| User Configuration |3 | 4
2)文件依赖(中表)
id | module_id | file_id
1 | 3 | 1
3)模块表
module_id | mudule_name | status
3 | Configuration module | 1
4 | Customers module | 0
解决方案
$qry = mysql_query("SELECT * FROM files f
LEFT JOIN file_dependencies fd on fd.file_id = f.file_id
LEFT JOIN modules m on m.module_id = fd.module_id where fd.module_id = '3'");
while($row = mysql_fetch_array($qry)){
if($row['display_in'] && $row['dependent_on']){
// write your own custom code
}
}
您需要使用表中的连接并检查依赖关系并在 php 代码中显示
推荐阅读
- python - Pandas:`df.dtypes`的最后一行是`dtype: object`,这是什么意思,它是谁的类型?
- sql - 优化选择不同的查询
- javascript - 使用延迟循环回调javascript打印模式线
- mysql - 如何将 128 GB 的大 .sql 文件导入 SQLite 3?
- php - 调用 mysqli_multi_query 后我的 php 代码无法运行的原因可能是什么?
- python - 从字典和列表创建字典
- javascript - 根据完整日历日视图中的数据显示时段
- jenkins - Sonar Qualitygate api 基于 Severity [blocker/critical/major] 而不是 Type[bugs/vulnerability/code-smells]
- html - Font Awesome 图标由于某种原因未显示
- r - 循环后以数字形式输出的值,但是当我将其添加到列表中时,它会添加 0?