Foros del Web » Programando para Internet » PHP »

Mostrar imagen guardada en mysql

Estas en el tema de Mostrar imagen guardada en mysql en el foro de PHP en Foros del Web. buenas noches, tengo una imagen guardada en una base de datos (mysql) lo que quiero es mostrar esa imagen en un iframe. Algo así: <iframe> ...
  #1 (permalink)  
Antiguo 10/03/2011, 20:39
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 2
Mostrar imagen guardada en mysql

buenas noches, tengo una imagen guardada en una base de datos (mysql) lo que quiero es mostrar esa imagen en un iframe.

Algo así:

<iframe>
<img src='imagen_consultada' />
</iframe>



No quiero,

<iframe src='imagen_consultada'>
</iframe>

porque quiero colocar un link en la imagen para que el usuario pueda dar click sobre ella, y ejecutar una función.



tengo en un documento aparte (verfoto.php) el cual tiene el codigo necesario para consultar la imagen y mostrarla, pero no logro lo que necesito, quiero consultarla pero mostrarla dentro de una etiqueta <img>

<?
include("conexion.php");

$sql = "SELECT CVFOTO FROM cargo
WHERE CVIDCARGO = 23";

$res = mysql_query($sql, $conexion);
$items = mysql_fetch_assoc($res);

$imagen = $items["CVFOTO"];

$mime = 'image';

header("Content-Type: $mime");

echo $imagen;

?>


muchas gracias.
  #2 (permalink)  
Antiguo 10/03/2011, 21:18
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Mostrar imagen guardada en mysql

Lo que estas haciendo aca es mostrarla directamente como si todo el

contenido de esa pagina sea una imagen... por lo tanto tu etiqueta img

debe contener esta imagen:
Código PHP:
//pagina que arma el iframe
//esta pagina es distinta a la que muestras en tu codigo arriba
//pero necesitara de ese codigo para mostrar la foto
$html '<img src="verFoto.php"/>';
print 
$html
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 10/03/2011, 21:26
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Mostrar imagen guardada en mysql

muchas gracias marvin por su respuesta, pero ese código lo coloco donde ?
en verfoto.php.

si es asi que coloco en el iframe.

Como iria la estructura completa.

de nuevo gracias, y disculpe la ignorancia.
  #4 (permalink)  
Antiguo 10/03/2011, 21:52
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Mostrar imagen guardada en mysql

Mira algo asi:
Código PHP:
//pagina iframe.php
$html '<iframe>
<img src="verFoto.php" alt="Imagen"/>
</iframe>'
;
print 
$html
Código PHP:
//pagina verFoto.php
include("conexion.php");
$sql "SELECT CVFOTO FROM cargo
WHERE CVIDCARGO = 23"
;
$res mysql_query($sql$conexion);
$items mysql_fetch_assoc($res);
$imagen $items["CVFOTO"];
$mime 'image';
header("Content-Type: $mime");
echo 
$imagen
Y para ver todo debes ir a iframe.php.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 11/03/2011, 22:21
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Mostrar imagen guardada en mysql

muy buenas noches, gracias de nuevo marvin por su colaboracion pero parece que este codigo no me va a funcionar para lo que necesito. quizas no me explique bien.
les comento de una manera mas clara que quiero hacer, y ustedes me recomiendan como desarrollarlo.

En mi proyecto tengo un formulario donde solicito al usuario que se registre ingresando sus datos y de igual forma su foto, esta ultima la guardo en un campo blob de mysql. (esta operacion de guardar me funciona bien inclusibe la foto).

Lo que quiero es que el usuario cuando consulte su informacion le aparezca la foto que tenia registrada en la base de datos y si lo desea la pueda cambiar.

En caso que el usuario no halla guardado ninguna foto, en ese espacio debe aparecer una imagen estandar que tengo en una carpeta en el servidor, que simboliza que no tiene foto asignada ó guardada (la misma que aparece cuando el usuario se registra por primera vez).

Estoy usando iframe con el fin de no recargar la pagina, pero no se si esto es lo mas indicado ó recomendado, si alguien ha desarrollado algo parecedito o quien entienda mas que yo les pido me echen una manita, mil gracias.

NOTA: Uso XAJAX, PHP y MySql.

QUE TENGO.
Tengo un archivo llamado verfoto.php en el cual hago la respectiva busqueda de los datos del usuario incluyendo la foto.

Tengo un js y en él, una funcion donde recoje los datos del usuario enviados por php y los asigno a cada campo (nombre, apellido, ciudad, etc...) en el formulario del usuario. (todos los parametros me los muestra bien en el formulario menos "la foto"-lo que necesito )

de nuevo agradezco cualquier ayuda que me puedan brindar.

saludos
  #6 (permalink)  
Antiguo 12/03/2011, 15:27
Avatar de jacc90220  
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Mostrar imagen guardada en mysql

Hola, tengo un problema q no se si es similar. Inserto el iframe y me aparece el cuadro pero en blanco. Lo q no se si es por q no cargo bien mi imagen. Estos son los los codigos q utilizo para insertar la foto:

fotografias.php


<?php
session_start();
$codigo=$_SESSION["codigo"];
$con=mysql_connect("localhost","root","") or
die("No se puede conectar a la BD: " . mysql_error());

mysql_select_db("siper",$con);
$espacio=" ";
$result01=mysql_query("select * from personal order by pateper, mateper, nombper",$con);


?>

<html>
<HEAD>
</HEAD>
<BODY bgcolor=#ffffff>
<br>
<div align=center style='color: #336699; font-size: 20px; font-family: times'><b>INSERTAR FOTOGRAF&Iacute;A</b></div><br>
<FORM action=fotografia_query.php method=post name=form enctype="multipart/form-data">
<fieldset align=center style="border: 1px ridge #336699; width: 650px;">
<legend><i>Personal</i></legend>
<br>
<TABLE cellspacing=0 cellpadding=4 border=0 align=center width=650>
<tr>
<td>
<select name="personal">
<?php
while ($row01=mysql_fetch_array($result01))
{
$codigopers=$row01["codper"];
$nombre=$row01["nombper"];
$ap_paterno=$row01["pateper"];
$ap_materno=$row01["mateper"];

$personal=$ap_paterno.$espacio.$ap_materno.$espaci o.$nombre
?>

<option value="<? echo $codigopers;?>"><?php echo $personal;?></option>

<?php
}
?>

</select>
</td>
</tr>
<tr>
<td colspan=3>
<input type=file name=userfile size=79 class=form3>
</td>
</tr>
<tr>
<td colspan=3>Gesti&oacute;n:
<input type=text name=gestion class=form3>
</td>
</tr>

<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>
<div align=right>
<input type=submit name=enviar value='Guardar'>
</div>
</td>
</tr>
</TABLE><br>
</fieldset>
</FORM>
</BODY>
</HTML>


fotografia_query.php

<?php
session_start();

$con=mysql_connect("localhost","root","") or
die("No se puede conectar a la BD: " . mysql_error());

mysql_select_db("siper",$con);


$codigo=$_POST['personal'];

$gestion=$_POST['gestion'];

$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}



$query = mysql_query("INSERT INTO fotografias (codper,gestion,name,type,size,foto_grande) VALUES ('$codigo','$gestion','$fileName', '$fileType','$fileSize','$content')",$con);


if($urlDonde=='home')
{
echo "<script language=javascript>";
echo "alert('Se guardaron los datos correctamente');";
echo "location.href('salir.php');";
echo "</script>";
}

?>


Revisando la BD parece q hubiera cargado la foto, pero no puedo recuperarla. Una ayuda porfavor

SAludos
  #7 (permalink)  
Antiguo 13/03/2011, 11:16
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 2
Cambiar el tamaño de una imagen con PHP

Buenas consulto una imagen desde una base de datos MySql y la muestro en un Iframe, el problema es que muestra la imagen muy grande y quiero que ésta tenga el mismo tamaño del iframe, como puedo hacer para cambiar el tamaño de la imagen que recien acabo de consultar.

mil gracias.
  #8 (permalink)  
Antiguo 13/03/2011, 13:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Cambiar el tamaño de una imagen con PHP

Coloca un height de 100% o un width en la etiqueta de img.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 13/03/2011, 14:06
 
Fecha de Ingreso: enero-2010
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Cambiar el tamaño de una imagen con PHP

Gracias abimaelrc por la respuesta, la consulta en la base de datos en el archivo verfoto.php es el siguiente

<?
$idfoto = $_GET['id'];

include("conexion.php");

$sql = "SELECT CVFOTO FROM usuario
WHERE CVIDCARGOVOTANTE = $idfoto";
$resEmp = mysql_query($sql, $conexion);
$items = mysql_fetch_assoc($resEmp);
$imagen = $items["CVFOTO"];

$mime = 'image';

header("Content-Type: $mime");
}
echo $imagen;
?>

y lo que necesito es cambiar el tamaño de la imagen ya que no uso la etiqueta <img para mostrarla, si no un iframe y la propiedad width y height de éste cambia el tamaño del mismo mas no la imagen.
  #10 (permalink)  
Antiguo 13/03/2011, 20:01
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Cambiar el tamaño de una imagen con PHP

Pero... si mal no recuerdo... la etiqueta <img la usas en el iframe no ??... haz tratado de forzar el tamaño desde ahi ??

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: mysql, tamaño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:14.