如何从HTML页面中的数据库中检索和使用行?

时间:2014-10-29 16:26:36

标签: oracle oracle-apex

在我的APEX应用程序中,我想将查询中的行用作变量,但我不想为每个元素创建项目。我必须在自定义HTML页面中显示这些变量。

例如,这是查询:

SELECT cells.id as id, cells.name as name, storage.capacity as capacity from cells, storage WHERE storage.capacity > 120

然后在我的自定义HTML代码中,我想引用那些行,就像这样(对不起,我不知道变量的语法):

<div>#name[1]#</div><a href="p?#id[1]"...
<div>#name[2]#</div><a href="p?#id[2]"...

那么我该如何为单个获取的行和多个行执行此操作?从事哪种类型的流程和地区?

1 个答案:

答案 0 :(得分:1)

如果您不想手动为每个元素创建项目,可以使用Form on table or view类型的区域。 APEX会自动创建它们。如果您不想自动创建项目,可以创建HTML类型的区域,然后转到Region Definition - &gt; Identification,选择Type - PL/SQL (anonymous block)Source - 在那里输入您的PL / SQL代码。例如:

declare
  ...
begin
  for i in (select text_col, rownum from mytable) loop
    htp.p(apex_item.text(rownum, text_col) || '<br>');
  end loop;
end;

您可以将任何字符串变量传递给过程htp.p。如果它们包含有效的HTML,它将正确显示,否则您将看到HTML源代码。您还可以使用apex_itemhttp://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_item.htm#AEAPI192)包生成所需项目的HTML代码。