Esse artigo faz parte da revista Clube Delphi Edição 91. Clique aqui para ler todos os artigos desta edição


PHP – Mini-Curso

Delphi for PHP

Crie um site de publicação de notícias – Parte 4

Na nossa quarta parte do mini-curso vamos criar a parte principal do nosso sistema, a área de acesso ao visitante. Nessa parte é muito importante o visual e a usabilidade, o que, na maioria das vezes nós programadores deixamos a desejar. Na verdade o Design de um site deve ser uma criação artística, desenvolvida por profissionais habilitados para essa área. O que irei demonstrar é como separar a programação e o desenvolvimento do visual de forma bem transparente e prática para uma equipe com profissionais das duas áreas, e para isso utilizaremos templates.

Idéia de Layout

Antes de começar a programar o site é necessário ter uma idéia de como será sua aparência. Para tanto, sugiro que seja desenhado um esboço das partes, o que pode ser chamado de Wireframe. De forma simples trace idéias de como poderá ser o site. Quanto mais idéias melhor. Depois, com toda sua equipe estude-as e defina o que pode ser aproveitado de cada uma. Para nosso mini-curso utilizei o Excel para criar o Wireframe exibido na Figura 1.

Figura 1. Wireframe da parte visível

Programando

Primeiramente vamos fazer o que mais gostamos, a programação. Abra o projeto realizado até agora e adicione um novo formulário através do menu File|New>Form. Altere o Name desse formulário para “UIndex” e salve-o “index.php”. Acesse o menu File>Use Unit e escolha dados.php.

Para fazer a lista das últimas dez notícias adicione ao formulário um componente Query, da paleta de componentes Data Access. Altere a propriedade Name para “sqlUltimas”, ligue a propriedade Database a UDados.dbjornal1 e digite a seguinte instrução SQL:

Select titulo, data_publicacao, id_noticia

From noticias

Ainda com o componente sqlUltimas selecionado defina a propriedade Order Field para “data_publicacao” e a propriedade Order para “desc”. Com essas definições o Delphi for PHP adicionará a instrução “Order By data_publicacao desc” à nossa sentença SQL. Verifique a propriedade LimitCount que por padrão deve estar “10”. Essa propriedade define a quantidade de registros que serão pesquisados no banco de dados. Por último, defina a propriedade Active desse componente como True.

Adicione um componente Data Source e altere a propriedade Name para “dsUltimas” e a propriedade DataSet ligue à sqlUltimas. Insira no formulário um componente DBRepeater, encontrado na paleta de componentes Data Controls. Altere seu Name para “dbrUltimas” e ligue sua propriedade DataSource para dsUltimas. Também apague sua propriedade Caption.

Dentro do DBRepeater adicione dois Label’s, um abaixo do outro. Para o segundo, defina a propriedade DataSource para dsUltimas e a propriedade DataField como “titulo”. A idéia do primeiro Label é mostrar a data formatada para o Brasil e, por isso não podemos fazer a ligação direta ao campo. Então, no evento OnBeforeShow desse Label coloque o código a seguir.

 global $UDados;

 $Data=explode("-", $this->sqlUltimas->data_publicacao);

 $Data=array_reverse($Data);

 $this->Label1->Caption=implode("/", $Data);

No código anterior utilizou-se a função explode para separar os valores e retirar o traço que vem na data pesquisada no banco de dados MySQL. A função array_reverse inverte a ordem das strings deixando na posição, normalmente utilizada no Brasil. E a função implode coloca as barras entre as partes juntando-as.

Selecione o Label ligado ao título e, no evento OnBeforeShow coloque o código a seguir que fará o link para a própria página passando o id da notícia clicada como campo de consulta.

...

Quer ler esse conteúdo completo? Tenha acesso completo