首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Oracle表创建oracle APEX动态菜单

通过Oracle表创建oracle APEX动态菜单
EN

Stack Overflow用户
提问于 2022-12-03 06:08:01
回答 1查看 33关注 0票数 0

我正在尝试使用sql查询通过Oracle表添加oracle APEX中的动态菜单。它将有n级的菜单(菜单将有子菜单,子菜单将有更多的菜单),不应限制在任何数目的节点。

我已经创建了带有oracle表和层次查询的动态导航菜单栏,但是序列不正确。你能帮我完成以下任务吗-

  1. 表结构
  2. 样本表数据
  3. SQL查询

我正在附加一个示例快照,以显示我正在努力实现的目标。

嵌套菜单示例

请注意-我不是寻找动态菜单,这是完全Javascript驱动。

EN

回答 1

Stack Overflow用户

发布于 2022-12-03 20:31:21

若要使用Oracle表在Oracle APEX中创建动态菜单,并应用分层查询从表检索数据,然后使用它填充菜单项,请执行以下操作。一种常见的方法是在表中有一个父-子关系,其中每一行都有对其父行的外键引用。

下面是一个可以使用的表结构示例:

代码语言:javascript
复制
CREATE TABLE menu_items (
    id        NUMBER PRIMARY KEY, // uniquely identifies each menu item
    parent_id NUMBER,             // references the `id` of the parent menu item
    title     VARCHAR2(255),      
    link      VARCHAR2(255),      
    sequence  NUMBER              // specifies the order of displaying menu items 
);

让我们用示例数据填充这个表:

代码语言:javascript
复制
INSERT INTO menu_items (id, parent_id, title, link, sequence) VALUES (1, NULL, 'Home', '/home', 1);
INSERT INTO menu_items (id, parent_id, title, link, sequence) VALUES (2, NULL, 'About', '/about', 2);
INSERT INTO menu_items (id, parent_id, title, link, sequence) VALUES (3, 2, 'Our Team', '/about/team', 1);
INSERT INTO menu_items (id, parent_id, title, link, sequence) VALUES (4, 2, 'Our History', '/about/history', 2);
INSERT INTO menu_items (id, parent_id, title, link, sequence) VALUES (5, NULL, 'Contact', '/contact', 3);

这将创建一个包含三个项目的顶级菜单:"Home“、"About”和"Contact“。“关于”菜单将有两个子项目:“我们的团队”和“我们的历史”。

要从此表检索数据并使用它填充Oracle APEX中的菜单,可以使用分层查询:

代码语言:javascript
复制
SELECT
    LEVEL     AS "Level",
    id        AS "ID",
    parent_id AS "Parent ID",
    title     AS "Title",
    link      AS "Link",
    sequence  AS "Sequence"
FROM menu_items
START WITH parent_id IS NULL
CONNECT BY PRIOR id = parent_id
ORDER SIBLINGS BY sequence;

此查询使用CONNECT BYSTART WITH子句遍历菜单项的层次结构,并使用ORDER SIBLINGS BY子句按序列列对每个级别的菜单项进行排序。

使用此查询的结果填充Oracle APEX中的菜单。例如,可以使用LEVEL列确定每个菜单项的级别,并在菜单中创建必要的缩进,并使用titlelink列显示每个菜单项的文本和URL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74664387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档