Как извлечь и использовать строки из базы данных на HTML-странице?
В моем приложении 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 ответ
Если вы не хотите создавать элементы для каждого элемента ВРУЧНУЮ, вы можете использовать регион типа Form on table or view
, APEX создает их автоматически. Если вы не хотите создавать элементы автоматически, вы можете создать область типа HTML
затем перейдите к Region Definition
-> 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_item
( http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_item.htm) пакет для генерации HTML-кода необходимых элементов.