PHP é à quinta-feira – Apresentação de imagens

PHP é à quinta-feira – Apresentação de imagens

Criado por Pedro Pinto em 28 de Abril de 2011 | 22 comentários

Por Pedro Peixoto para o PPLWARE
Como o último artigo despertou bastante interesse, apesar do seu grau de simplicidade, vamos, esta semana, continuar na mesma linha e aprender a trabalhar com o elemento <img>. Neste artigo poderemos ver como fazer output de imagens nas páginas geradas em PHP, armazenando os seu endereços na base de dados.

php1

Uma imagem tem dois atributos importantes:

  • Src – Url da imagem
  • Alt – Texto alternativo

São estes dois atributos que podemos armazenar numa tabela, e ao contrário do que muitos pensam, a imagem física não fica na própria base de dados mas sim no servidor, apenas o seu endereço é guardado.

Para este exercício vamos usar uma imagem chamada ‘pplware.png’.

clip_image002

Para apresentar a imagem através do PHP, podemos usar o seguinte código.

<?php   $src='pplware.png';   $alt='Logotipo PPLWARE';   echo '<img src="' . $src . '" alt="' . $alt . '"/>';   ?>

Ao abrir esta página teremos o seguinte resultado:

clip_image004

A informação das variáveis $alt e $src poderiam ser introduzidas numa base de dados como a da imagem seguinte:

clip_image006

Agora vamos modificar o código:

<

?php   //ligação DB   mysql_connect('localhost','root','mysql');   mysql_select_db('PPLWARE');   //consulta   $query="Select * from Galeria where ID=1";   $resultado=mysql_query($query);   $linha=mysql_fetch_array($resultado);   //output imagem   $src=$linha['URL'];   $alt=$linha['DESCRICAO'];   echo '<img src="' . $src . '" alt="' . $alt . '"/>';   ?>

O resultado é exactamente o mesmo:

clip_image008

Posto isto, e visto que o script já está completamente dinâmico, podemos incluir um ciclo while e fazer uma mini galeria para todas as imagens da base de dados (não esquecer de retirar a cláusula where da query:

<?php   mysql_connect('localhost','root','mysql');   mysql_select_db('PPLWARE');   $query="Select * from Galeria";   $resultado=mysql_query($query);   while($linha=mysql_fetch_array($resultado))   {   $src=$linha['URL'];   $alt=$linha['DESCRICAO'];   echo '<img src="' . $src . '" alt="' . $alt . '"/>';   }   ?>

Falta agora adicionar à base de dados mais imagens e não esquecer de as colocar fisicamente no servidor, este processo também poderia ser feito através do PHP, mas “upload de ficheiros” é um tema para um próximo artigo.

Como o campo URL é um caminho para uma imagem, também podemos colocar um caminho da WEB, é indiferente:

clip_image010

E o resultado final:

clip_image012

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s