Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2005, 21:13
Maru77
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 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