Foros del Web » Programando para Internet » PHP »

Mostrar imagen de un solo registro

Estas en el tema de Mostrar imagen de un solo registro en el foro de PHP en Foros del Web. Hola a todos! hace un tiempo estuve leyendo el tutorial de Cluster para almacenar imagenes en una BD y me ha aclarado bastantes dudas al ...
  #1 (permalink)  
Antiguo 07/01/2005, 21:13
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Mostrar imagen de un solo registro

Hola a todos! hace un tiempo estuve leyendo el tutorial de Cluster para almacenar imagenes en una BD y me ha aclarado bastantes dudas al respecto, lo que no puedo lograr (algo simple creo) y es que en lugar de generar un listado de todos los registros ya ingresador quisiera que al ingresar un nuevo registro tenga la posibilidad de visualizar su contenido, se entiende?

Espero puedan ayudarme....
Saludos! y gracias!!!
Maru.-

A continuación paso mis archivos para ver de que manera puedo modificarlos:

insertar.php

<?php
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta la imagen");
exit;
}

//declaración de variables
$Host = "localhost";
$User = "";
$Password = "";
$Base = "empresa";
$Tabla = "productos";

//conecta la base
$Link = mysql_connect ($Host, $User, $Password);

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tamaño y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];

$Query = "INSERT INTO productos (id, tipo_prod, producto, precio, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$tipo_prod', '$producto', '$precio', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";

//confirma si los datos fueron ingresados o no
if (mysql_db_query ($Base, $Query, $Link))
{
print ("Los datos han sido ingresados correctamente!<BR>\n");
echo "<p><a href=alta.php target=_parent>Volver</p> \n";
echo "<p><a href=listar_imagenes.php target=_blank>Listado</p> \n";
}
else
{
print ("La operación no pudo ser realizada<BR>\n");
echo "<p><a href=alta.php target=_parent>Volver</p> \n";
}

//cierra la base
mysql_close ($Link);
?>


ver.php

<?php
if(isset($_GET['id'])) {

$Host = "localhost";
$User = "";
$Password = "";
$Base = "empresa";
$Tabla = "productos";

//conecta la base
$Link = mysql_connect ($Host, $User, $Password);

//realiza la consulta
$Query = "SELECT * FROM productos WHERE id='".$_GET['id']."'";
$Result = mysql_db_query ($Base, $Query, $Link);

$datos = mysql_result($Result,0,"archivo_binario");
$tipo = mysql_result($Result,0,"archivo_tipo");

header("Content-type: $tipo");
echo $datos;

//cierra la base
mysql_close ($Link);
}

?>


listar_imagenes.php
<?php
mysql_connect("localhost","","") or die ("no se ha podido conectar a la BD");

mysql_select_db("empresa") or die ("no se ha podido seleccionar la BD");

$sql = "SELECT * FROM productos";
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");

while ($registro=mysql_fetch_assoc($consulta)){
echo "<br> Tipo Producto: ".$registro['tipo_prod'];
echo "<br> Producto: ".$registro['$producto'];
echo "<br> Precio: ".$registro['$precio'];
echo "<img src=\"ver.php?id=".$registro['$id']."\">";

}

?>

Última edición por Maru77; 07/01/2005 a las 21:28
  #2 (permalink)  
Antiguo 07/01/2005, 21:58
Avatar de kawoq  
Fecha de Ingreso: mayo-2002
Ubicación: Xela
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Saludos amigo, este post habla de lo que tu quieres hacer, solo que ahi se pedia para mostrar los ultimos 3.

http://www.forosdelweb.com/f18/como-mostrar-ultimos-3-registros-celdas-separadas-129178/

Lo unico que tienes que hacer es cambiar el DESC LIMIT 0,3 del code SQL por 0,1.


Saludos.
  #3 (permalink)  
Antiguo 10/01/2005, 19:38
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Muchas gracias Kawoq!!! realmente funcionó la solución era bien simple!!!, espero poder seguir adelante con esto entonces...

Saludos!
Maru.-
  #4 (permalink)  
Antiguo 10/01/2005, 22:28
Avatar de kawoq  
Fecha de Ingreso: mayo-2002
Ubicación: Xela
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Cita:
Iniciado por Maru77

Saludos!
Maru.-
yo que te dije amigo.

De nada Maru. Un placer.
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 21:17.