Как извлечь и использовать строки из базы данных на 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-кода необходимых элементов.

Другие вопросы по тегам