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.
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’.
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:
A informação das variáveis $alt e $src poderiam ser introduzidas numa base de dados como a da imagem seguinte:
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:
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:
E o resultado final:
Artigos relacionados