Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
Estou realmente perdido e precisando de ajuda.
Eu preciso ler uma imagem que está em um banco de dados mysql em um campo blob e colocar esta imagem em um local especifica de uma tabela.
Gente pode até ser que seja simples mas o cérebro não está pegando nem no tranco.
Arquivo que contém o codigo php que acessa o BD.
<?php
$servidor = "localhost";
$usuario = "admin";
$senhabd = "senha";
$conexao = mysql_connect($servidor,$usuario,$senhabd) or die (mysql_error());
if ($conexao === FALSE){
echo "<script>
alert('Não foi possível efetuar a conexão com a base de dados. ');
history.back();
</script>";
}
$bd = mysql_select_db("bdteste",$conexao);
if ($bd===FALSE){
echo "<script>
alert('Não foi possível selecionar a base de dados. ');
history.back();
</script>";
}
else{
$query = "Select * from tbimagem";
$consulta = mysql_query($query);
$limite = mysql_num_rows($consulta);
$id = rand(1,$limite);
$query = "SELECT id, figura,texto, ender FROM tbimagem WHERE id = '$id'";
$consulta = mysql_query($query);
$result = mysql_fetch_assoc($consulta);
$figura = $result['figura'];
$texto = $result['texto'];
$endereco = $result['ender'];
}
?>
Agora o HTML que irá apresentar a imagem lida no arquivo php acima.
O que eu espero é que a variável $figura contenha a imagem que está no banco e no código abaixo no lugar das ????????? apareça esta imagem.
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sem título</title>
<table>
<tr>
<td><img src="??????????????????????" width="216" height="40" /></td>
</tr>
</table>
<div align="center"></div>
</body>
</html>
Como faço isso? Alguém sabe e pode ajudar?
como referencio um arquivo no outro e vice versa caso seja necessário.
Muitíssimo obrigado.
Bom..
Começando..
Primeiro vamos mexer no seu script que está em PHP.
vamos chama-lo de imagem.php.
ARQUIVO: imagem.php
<?php
$id = (int)$_GET["id"];
$servidor = "localhost";
$usuario = "admin";
$senhabd = "senha";
$conexao = mysql_connect($servidor,$usuario,$senhabd) or die (mysql_error());
if ($conexao === FALSE){
echo "<script>
alert('Não foi possível efetuar a conexão com a base de dados. ');
history.back();
</script>";
}
$bd = mysql_select_db("bdteste",$conexao);
if ($bd===FALSE){
echo "<script>
alert('Não foi possível selecionar a base de dados. ');
history.back();
</script>";
}
else{
$query = "Select * from tbimagem";
$consulta = mysql_query($query);
$limite = mysql_num_rows($consulta);
$id = rand(1,$limite);
$query = "SELECT id, figura,texto, ender FROM tbimagem WHERE id = '$id'";
$consulta = mysql_query($query);
$result = mysql_fetch_assoc($consulta);
$figura = $result['figura'];
$texto = $result['texto'];
$endereco = $result['ender'];
}
// Agora ele vai criar a imagem para receber.
header("Content-type: image/jpeg");
$img = $figura;
$extensao=substr($img, -3);
if ($extensao=="jpg"){
$nova = imagecreatefromjpeg($img);
}
if ($extensao=="png"){
$nova = imagecreatefrompng($img);
}
if ($extensao=="gif") {
$nova = imagecreatefromgif($img);
}
$h_w = imagesx($nova);
$h_h = imagesy($nova);
$n_w = $_GET["width"]; // pega a largura
$n_h = $_GET["height"]; // pega a altura
$new = imagecreatetruecolor($n_w, $n_h);
$fim = imagecopyresampled($new, $nova, 0, 0, 0, 0, $n_w, $n_h, $h_w, $h_h);
imagejpeg($new);
imagedestroy($new);
imagedestroy($nova);
?>
Agora a página HTML:
Vamos chama-lo de index.html
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sem título</title>
<table>
<tr>
<td><img src="imagem.php?id=1&width=216&height=40" width="216" height="40" /></td>
</tr>
</table>
<div align="center"></div>
</body>
</html>
Repare que ele vai printar a imagem que está no banco de dados marcada com o ID de número 1.
Gente,
Eu testei mas não aparece a imagem, apenas o espaço reservado a ela com um X vermelho. Da mesma forma como um arquivo de figura não é encontrado.
Outra coisa, na pagina html, o id é indicado como sendo 1. mas este id vai ser definido pelo codigo php na linha $id = rand(1,$limite); pois algumas linhas antes eu verifico quantas imagens existem no banco e sorteio uma para aparecer.
Olá pessoal,
Tá difícil, não sei o que é (além do meu pouco conhecimento).
Vamos ver se melhora com a esplicação do que eu preciso.
No site, vários clientes vão acessar, mas cada qual verá apenas os dados que lhe dizem respeito, por isso haverá logim. porém, na página de cada cliente haverá uma figura (um logo ou foto) que identifica este cliente.
Como eu posso fazer isso? Eu queria que as imagens ficassem no BD porque daí eu não preciso me preocupar com nomes repetidos e etc, pois a imagem fica identificada pelo id de cada usuário. Estas imagens serão carregadas ou não pelo próprio usuário, sem a minha interferência (colocar, tirar ou mudar).
Obrigado pelas tentativas anteriores, mas por enquanto não deu muito certo.
Me mande pvt pelo forum, vlw
>
Olá a todos,
Estou realmente perdido e precisando de ajuda.
Eu preciso ler uma imagem que está em um banco de dados mysql em um campo blob e colocar esta imagem em um local especifica de uma tabela.
Gente pode até ser que seja simples mas o cérebro não está pegando nem no tranco.
Arquivo que contém o codigo php que acessa o BD.
else{Agora o HTML que irá apresentar a imagem lida no arquivo php acima.
O que eu espero é que a variável $figura contenha a imagem que está no banco e no código abaixo no lugar das ????????? apareça esta imagem.
Como faço isso? Alguém sabe e pode ajudar?
como referencio um arquivo no outro e vice versa caso seja necessário.
Muitíssimo obrigado.
Olá.
O problema me parece estar na consulta a tabela.
O código correto seria:
else{Lembrando que você tem que definir no início do código $id como o id do que você quer pegar.
Quanto ao código HTML você deve adicionar este PHP no início do html ou usar a função <?php include('nome do arquivo'); ?>
Acho que é isto, me corrijam caso eu esteja errado em alguma coisa.