我已经搜索了几个小时。我怀疑这是一个独特的情况——我只是不知道去哪里查看或如何为 MySql 构建适当的查询。
主数据表用于网站 CMS。 所以,有它所在的 PAGE,它显示的页面的 SECTION,以及 CONTENT(文本、html 等)
然后我有两个表,一个包含站点上所有可用的 PAGE 名称,另一个包含所有可能的 SECTION 名称。 (用于填充菜单)
在 CMS 数据新条目页面中,我希望用户能够首先从下拉菜单中选择他们想要的页面,然后(这是棘手的部分)然后仅使用页面填充第二个下拉菜单尚无数据的部分。 (例如,他们无法创建第二条“索引页面主要内容”记录)。
我已经找到了很多使用各种方式动态填充第二个菜单的解决方案 - 但不知道如何创建一个查询来根据从第一个菜单中选择的页面轮询主数据库并查看哪些部分类型仍未使用。
根据要求,http://sqlfiddle.com/#!2/736600用于数据库设置。
最佳答案
在 http://sqlfiddle.com/#!2/1573b/5 查看我的 SQLFiddle .
CREATE TABLE a
(
id int auto_increment primary key,
page varchar(20),
section varchar(20),
content varchar(30)
);
INSERT INTO a
(page, section,content)
VALUES
('home', 'main', 'hello'),
('home', 'sidebar', 'hello'),
('about', 'main', 'hello'),
('about', 'sidebar', 'hello')
列表页面:select DISTINCT(page) from a;
列表部分:select DISTINCT(section) from a;
列出特定页面的部分:select DISTINCT(section) from a where page = 'home'
您应该能够获取上次查询的结果,将其与您的部分列表进行比较,并仅显示 SQL 查询结果中不存在的项目。
关于php - 需要根据主 MySql 数据库中的数据是否已经存在来填充菜单的可用选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24479419/