Интернет решения от доктора Боба - страница 20
2.2.10. Результаты запроса
Теперь посмотрим на последнюю часть CGI приложения: часть, в которой генерируется HTML код. Здесь я использую другое свойство расширенного HTML, именованные таблицы, что бы вывод выглядел красивее. Для каждой записи, у которой счетчик более единицы, я выводу счетчик, название, автора, издательство, ISBN, уровень, техническое содержание, качество книги, стоимость и общее значение. Я также включаю ссылку из названия на другое место, где находится более подробное описание. С помощью этого великолепного свойства динамических HTML страниц: вы даже можете включать ссылки на статические страницы, так как результат запроса, часто стартовая точка для прыжка в другое место!
>writeln('
');
');>writeln('
>writeln('
The following books have been found for you:
');
После того как заголовок написан, самое время выводить сами записи. Я не хочу сортировать их по рейтингу от 5 до 1, так что я просто иду по списку книг и печатаю каждую со своим рейтингом. Этот путь, потому что я знаю, что книги уже отсортированы по рейтингу в основной базе delbooks.db (которая отсортирована по уровню и рейтингу). Обычно книги в верху списка уже лучший ответ на заданный вопрос.>writeln('
');
');>writeln('
'); ');>writeln('
Hits ');>writeln('
Title ');>writeln('
Author ');>writeln('
Publisher ');>writeln('
ISBN ');>writeln('
Level ');>writeln('
Con ');>writeln('
Wri ');>writeln('
Val ');>writeln('
Tot ');>writeln('
> if DataRec.Delphi2 then
> begin
> for Hits := 5 downto 1 do
> begin
> for i:=1 to Books32 do if Result32[i] = Hits then
> begin
> writeln('
'); ')> writeln('
',Roman[Hits],' ');> writeln('
',Book32[i].Title,' ');> writeln('
',Book32[i].Author,' ');> writeln('
',Book32[i].Publisher,' ');> writeln('
',Book32[i].ISBN,' ');> writeln('
',Level[Book32[i].Level],' ');> writeln('
',Book32[i].TechnicalContentsQuality,' ');> writeln('
',Book32[i].QualityOfWriting,' ');> writeln('
',Book32[i].ValueForMoney,' ');> writeln('
',Book32[i].OverallAssessment,' ');> writeln('
> end
> end;
> if DataRec.Delphi1 then writeln('
') > end;
> if DataRec.Delphi1 then
> begin
> for Hits := 5 downto 1 do
> begin
> for i:=1 to Books16 do if Result16[i] = Hits then
> begin
> writeln('
'); ')> writeln('
',Roman[Hits],' ');> writeln('
',Book16[i].Title,' ');> writeln('
',Book16[i].Author,' ');> writeln('
',Book16[i].Publisher,' ');> writeln('
',Book16[i].ISBN,' ');> writeln('
',Level[Book16[i].Level],' ');> writeln('
',Book16[i].TechnicalContentsQuality,' ');> writeln('
',Book16[i].QualityOfWriting,' ');> writeln('
',Book16[i].ValueForMoney,' ');> writeln('
',Book16[i].OverallAssessment,' ');> writeln('
> end
> end
> end;
> writeln('
> writeln('
');
> writeln('Dr.Bob''s Delphi Clinic');
> writeln('