Tem links?
Sim, tem! Desde a versão 0.1.2 temos o elemento LINK dentro do elemento COL, com esses atributos:| nome | obrigatório | valores | significado |
| TYPE | sim | STATIC/DYNAMIC | Se é STATIC, o link vai seguir o valor dentro do elemento LINK. Se é DYNAMIC, o link vai seguir vai seguir o valor de um campo do resultado da consulta SQL. |
| TARGET | sim | <target value (string)> | O quadro destino onde o link vai abrir. Se é nulo, ele vai abrir na mesma janela onde o relatório está. Se é "_blank", por exemplo, ele vai abrir em uma nova janela. Verifique o atributo TARGET on elemento <A HREF> para aprender mais sobre isso. |
| TITLE | sim | <title value (string)> | O valor do título é igual a "dica" que aparece quando passa o mouse sobre o link. |
Para esse exemplo vou usar o arquivo sales7.php, onde vamos criar uma nova coluna chamada url com o endereço de um site buscando o conteúdo do campo corrente id (http://www.mysite.com/customers.php?id=<sql_id_here>), desse jeito (lembre-se que estou usando MySQL):
select id,name,city,product,value,concat('http://www.mysite.com/customers.php?id=',id) as url from saleslog order by city,id;
A coluna url vai ter valores como http://www.mysite.com/customers.php?id=1 e por aí vai.
Vejamos sales7.xml:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE REPORT SYSTEM "PHPReport.dtd">
<REPORT>
<TITLE>Sales Report</TITLE>
<BACKGROUND_COLOR>#FFFFFF</BACKGROUND_COLOR>
<CSS>phpreports.css</CSS>
<DOCUMENT>
<FOOTER BORDER="1" CELLSPACING="0" CELLPADDING="5" WIDTH="500">
<ROW>
<COL ALIGN="RIGHT" CELLCLASS="DOCUMENT_LAYER" WIDTH="430">report total</COL>
<COL ALIGN="LEFT" CELLCLASS="DOCUMENT_LAYER" TEXTCLASS="BOLD" NUMBERFORMATEX="2" TYPE="EXPRESSION">$this->getSum("value")</COL>
</ROW>
</FOOTER>
</DOCUMENT>
<PAGE BORDER="1" SIZE="25" CELLSPACING="0" CELLPADDING="5" WIDTH="500">
<HEADER>
<ROW>
<COL COLSPAN="4" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD">John Doe Enterprises</COL>
</ROW>
<ROW>
<COL COLSPAN="4" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD">Sales Report</COL>
</ROW>
</HEADER>
<FOOTER>
<ROW>
<COL ALIGN="RIGHT" COLSPAN="3" CELLCLASS="PAGE_LAYER">page total</COL>
<COL ALIGN="LEFT" NUMBERFORMATEX="2" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD" TYPE="EXPRESSION">$this->getSum("value")</COL>
</ROW>
</FOOTER>
</PAGE>
<GROUPS>
<GROUP NAME="citygroup" EXPRESSION="city">
<HEADER>
<ROW>
<COL CELLCLASS="GROUP_LAYER">
<LINK TYPE="STATIC" TITLE="search cities here" TARGET="_blank">http://www.citysearch.com</LINK>city:
</COL>
<COL CELLCLASS="GROUP_LAYER" TEXTCLASS="BOLD" TYPE="EXPRESSION" COLSPAN="3">$header->getValue("city")</COL>
</ROW>
<ROW>
<COL CELLCLASS="GROUP_LAYER">id</COL>
<COL CELLCLASS="GROUP_LAYER">name</COL>
<COL CELLCLASS="GROUP_LAYER">product</COL>
<COL CELLCLASS="GROUP_LAYER">$</COL>
</ROW>
</HEADER>
<FOOTER>
<ROW>
<COL ALIGN="RIGHT" COLSPAN="3" CELLCLASS="GROUP_LAYER">city total</COL>
<COL ALIGN="LEFT" CELLCLASS="GROUP_LAYER" TEXTCLASS="BOLD" NUMBERFORMATEX="2" TYPE="EXPRESSION">$this->getSum("value")</COL>
</ROW>
</FOOTER>
<GROUP NAME="customergroup" EXPRESSION="name">
<FOOTER>
<ROW>
<COL ALIGN="RIGHT" COLSPAN="3" CELLCLASS="GROUP_LAYER">customer total</COL>
<COL ALIGN="LEFT" CELLCLASS="GROUP_LAYER" TEXTCLASS="BOLD" NUMBERFORMATEX="2" TYPE="EXPRESSION">$this->getSum("value")</COL>
</ROW>
</FOOTER>
<FIELDS>
<ROW>
<COL CELLCLASS="GROUP_LAYER">
<LINK TYPE="DYNAMIC" TITLE="click here for more info about this customer" TARGET="_blank">url</LINK>id
</COL>
<COL CELLCLASS="GROUP_LAYER">
<LINK TYPE="STATIC" TITLE="search this customer name">http://www.mysite.com/customernames.php</LINK>name
</COL>
<COL TYPE="FIELD" CELLCLASS="GROUP_LAYER">product</COL>
<COL TYPE="FIELD" CELLCLASS="GROUP_LAYER" NUMBERFORMATEX="2">value</COL>
</ROW>
</FIELDS>
</GROUP>
</GROUP>
</GROUPS>
</REPORT>
Note a primeira parte de código destacado - tem um link STATIC lá, com atributos TITLE e TARGET.
Traduzindo: esse link sempre (é estático!) vai apontar para http;//www.citysearch.com, vai abrir
em uma nova janela, e toda vez que você passar seu mouse sobre esse link uma "dica" com "procure cidades aqui
vai aparecer.A segunda parte de código destacado é um link DYNAMIC (dinâmico) - onde vamos inserir o valor do campo url, que vai mudar de acordo com os valores da nossa tabela do banco de dados. Note que há atributos TITLE e TARGET lá também - seu comportamento é idêntico ao explicado acima.
O resultado é:

Note os links sublinhados lá - city, id e name são, city e name com links estáticos e id mudando quando o id do cliente muda (http://www.mysite.com/customers.php?id=1,http://www.mysite.com/customers.php?id=2 e http://www.mysite.com/customers.php?id=3).