Foros del Web » Programando para Internet » PHP »

Mostrar en la web las imagenes de la bd

Estas en el tema de Mostrar en la web las imagenes de la bd en el foro de PHP en Foros del Web. hola, tengo una duda. Estoy iniciándome en PHP y no se mucho. Tengo por un lado una Base de Datos en MySQL y una tabla ...
  #1 (permalink)  
Antiguo 17/02/2011, 09:06
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 5 meses
Puntos: 12
Pregunta Mostrar en la web las imagenes de la bd

hola,
tengo una duda. Estoy iniciándome en PHP y no se mucho.

Tengo por un lado una Base de Datos en MySQL y una tabla dentro de esta donde tengo un campo que se llama "Provincias" y otro que se llama "Imagen" y por último el "ID". Cada imagen es de un hotel que está situado en una provincia.

He conseguido crear ya un PHP de manera que me muestre una imagen si concreto el PHP. Sin embargo, cuando quiero que me muestre varias imágenes no lo consigo. Quiero filtrar las imágenes según la provincia, por ejemplo, si elijo Madrid, que me salgan todas las imágenes de hoteles de Madrid que tengo.

Si pudiesen por favor escribirme la sintaxis de la frase en PHP donde viene descrito ésto se lo agradecería.
  #2 (permalink)  
Antiguo 17/02/2011, 12:13
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Mostrar en la web las imagenes de la bd

más bien creo que es cosa de mysql... y tienes que leer las bases de mysql (o bases de datos en general) para esto. A tu consulta a la base de datos agrega un where provincias='madrid' (o la provincia que quieras)
  #3 (permalink)  
Antiguo 17/02/2011, 12:52
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 1 mes
Puntos: 96
Respuesta: Mostrar en la web las imagenes de la bd

Saludos

Para ello debes utilizar un ciclo y recorrer los resultados

Código PHP:
$consulta="SELECT * FROM tabla";
$sql=mysql_query($consulta,$link);//Ejecución de la consulta
while($row=mysql_fetch_array($sql)){
$campo=$row['nombreColumna'];

__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 17/02/2011, 13:02
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Mostrar en la web las imagenes de la bd

Ok Tienes las imagenes en la base de datos en un campo tipo blob, o solo guardas la direccion, ocupo que me digas cual de los dos utilizas, ya que las soluciones que tengo son diferentes codigos
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk
  #5 (permalink)  
Antiguo 17/02/2011, 17:20
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 5 meses
Puntos: 12
Respuesta: Mostrar en la web las imagenes de la bd

Las imágenes están guardadas en blob
  #6 (permalink)  
Antiguo 18/02/2011, 03:55
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 5 meses
Puntos: 12
Respuesta: Mostrar en la web las imagenes de la bd

Bueno he intentado varias cosas que me habéis dicho y sigue sin salirme...
Si pongo
where Provincia = 'AVILA'

sólo me sale la primera de las imágenes que tengo de Ávila.

También he intentado lo del ciclo, pero ni siquiera me muestra una imagen, sólo muestra como el símbolo de una imagen rota.

Os mando un ejemplo de la tabla de la base de datos para que veais como es y el código que tengo...

Tabla: ESTABLECIMIENTOS
Registro 1.
ID: 5001
Nombre: El Mirador del Alberche 1
Provincia: AVILA
Localidad: Navaluenga
Imagen. [BLOB-61.2 KB]

Registro 2.
ID: 5002
Nombre: Ribera del Corneja
Provincia: AVILA
Localidad: Navacepedilla del Corneja
Imagen: [BLOB - 56.3 KB]


Código PHP:
<?
// Configurar las dos lineas siguientes
@mysql_connect("XXXX","XXX","XXX");
@
mysql_select_db("db357568003");
$query "SELECT Imagen FROM establecimientos  
                    WHERE Provincia = 'BURGOS'"
;
                        
$result = @mysql_query($query);
$imagen = @mysql_result($result,0); 
Header"Content-type: image/png"); 
echo 
$imagen
?>

el caso es que en el
$imagen = @mysql_result($result,0);
el cero marca el número de la fila, y en vez de salir una sola fila, debería pasar por todas... no sé como cambiarlo

Última edición por educacanis; 18/02/2011 a las 04:36 Razón: falta texto
  #7 (permalink)  
Antiguo 18/02/2011, 10:12
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Mostrar en la web las imagenes de la bd

Mostrar.php

Código PHP:
$sqlcon="SELECT * FROM cat_usuarios";
$rescon=mysql_query($sqlcon,$link);
while(
$rowcon=mysql_fetch_array($rescon)){
                 echo 
'<img src="imagen.php?check=' $rowcon['id'] . '" border="0"  height="50" width="100"/>';
          echo 
"<br>".$rowcon[nombreh];


imagen.php

Código PHP:
$id $_GET[check];

if(!isset(
$id) || empty($id)){
die(
"Please select your image!");
}else{

$query mysql_query("SELECT * FROM cat_usuarios WHERE id='".$id."'");
$row mysql_fetch_array($query);
$content $row['img'];

header('Content-type: image/jpg');
echo 
$content;



Ok el archivo mostrar.php tiene un ciclo while, este imprime datos e imagenes, como imprime imagenes, mandando llamar el archivo imagen.php enviandole una variable url, para mostrar la imagen indicada.

Espero te sirva
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk
  #8 (permalink)  
Antiguo 19/02/2011, 13:36
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 5 meses
Puntos: 12
Respuesta: Mostrar en la web las imagenes de la bd

Sigo sin conseguir que funcione... he encontrado un código que me ha sido bastante útil, consigo que me muestre la tabla con diversos campos e incluso con el de la imagen (sale en binario). Sin embargo, cuando quiero poner el

header('Content-type: image/png');

para que la imagen en vez de en binario salga como imagen se me estropea todo, ya no sale ni la tabla ni los demás campos ni nada, sólo sale la página en blanco...

os dejo el código a ver si me podéis ayudar. Si lo ejecuto tal cual os lo muestro me sale la tabla con el ID, la provincia y la imagen en binario...
hay algunos parámetros que son para otra parte de la web...
Código PHP:
<?php require_once('Connections/conexion_libros.php'); ?>
<?php
$currentPage 
$_SERVER["PHP_SELF"];

$maxRows_libros_consulta 10//número de filas que sale en la tabla donde se muestra la consulta
$pageNum_libros_consulta 0//la primera página que se rellena con la consulta, es decir el 0 corresponde con la primera página.
if (isset($_GET['pageNum_libros_consulta'])) {
  
$pageNum_libros_consulta $_GET['pageNum_libros_consulta'];
}
$startRow_libros_consulta $pageNum_libros_consulta $maxRows_libros_consulta;

mysql_select_db($database_conexion_libros$conexion_libros); //consexion a la base de datos
$query_libros_consulta "SELECT * FROM establecimientos"// seleccionar la TABLA dentro de la base de datos
$query_limit_libros_consulta sprintf("%s LIMIT %d, %d"$query_libros_consulta$startRow_libros_consulta$maxRows_libros_consulta);
$libros_consulta mysql_query($query_limit_libros_consulta$conexion_libros) or die(mysql_error());
$row_libros_consulta mysql_fetch_assoc($libros_consulta);

if (isset(
$_GET['totalRows_libros_consulta'])) {
  
$totalRows_libros_consulta $_GET['totalRows_libros_consulta'];
} else {
  
$all_libros_consulta mysql_query($query_libros_consulta);
  
$totalRows_libros_consulta mysql_num_rows($all_libros_consulta);
}
$totalPages_libros_consulta ceil($totalRows_libros_consulta/$maxRows_libros_consulta)-1;

$queryString_libros_consulta "";
if (!empty(
$_SERVER['QUERY_STRING'])) {
  
$params explode("&"$_SERVER['QUERY_STRING']);
  
$newParams = array();
  foreach (
$params as $param) {
    if (
stristr($param"pageNum_libros_consulta") == false && 
        
stristr($param"totalRows_libros_consulta") == false) {
      
array_push($newParams$param);
    }
  }
  if (
count($newParams) != 0) {
    
$queryString_libros_consulta "&" htmlentities(implode("&"$newParams));
  }
}
$queryString_libros_consulta sprintf("&totalRows_libros_consulta=%d%s"$totalRows_libros_consulta$queryString_libros_consulta);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<table border="1" align="center">
  <tr>
    <td>ID</td>
    <td>Provincia</td>
    <td>Imagen</td>

  </tr>
  <?php do { ?>
  <tr>
      <td><?php echo $row_libros_consulta['ID']; ?>&nbsp; </td>
      <td><a href="detalles_libros.php?recordID=<?php echo $row_libros_consulta['ID']; ?>"> <?php echo $row_libros_consulta['Provincia']; ?>&nbsp; </a> </td>    
      <td><?php echo $row_libros_consulta['Imagen']; ?>&nbsp; </td>


    </tr>
    <?php } while ($row_libros_consulta mysql_fetch_assoc($libros_consulta)); //bucle WHILE que muestra todos? ?> 
</table>
<br>
gracias por vuestra ayuda

Etiquetas: bd, imagenes
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 05:56.