Foros del Web » Programando para Internet » PHP »

Como mostrar fotos almacendas

Estas en el tema de Como mostrar fotos almacendas en el foro de PHP en Foros del Web. hola,tengo una tabla con la siguiente informacion: codigo_imagen (int 4) codigo_clave foranea int(4) direccion_imagen text en el campo direccion_imagen,tengo esta informacion /misitio/fotografias/foto1.jpg cuando realizo una ...
  #1 (permalink)  
Antiguo 06/09/2006, 11:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Como mostrar fotos almacendas

hola,tengo una tabla con la siguiente informacion:

codigo_imagen (int 4)
codigo_clave foranea int(4)
direccion_imagen text

en el campo direccion_imagen,tengo esta informacion

/misitio/fotografias/foto1.jpg

cuando realizo una consulta a esa tabla para mostrar una foto,en este caso foto1,la muestra sin problemas,pero si deseo mostrar dos imagenes que tengan la direccioen almacenada en el mismo campo no me resulta,como podria solucionar ese problema,y mostrar dos imagenes que esten almacenadas en el campo.
gracias

ahora en el campo direccion_imagen,tendria esas dos direcciones
/misitio/fotografias/foto1.jpg

/misitio/fotografias/foto2.jpg

las imagenes las muestro con esta consulta:
Código PHP:
<?php

$codigo 
$_POST['codigo'];
//conexion a la base de datos
$CN mysql_connect("localhost","root","");
mysql_select_db("base",$CN);


$sql "select ima_direccion_imagen as Imagen
        from
        miscelaneo M,
        imagenes I

        where I.mi_cod='$codigo' and I.mi_cod=M.mi_cod"
;


$result mysql_query($sql,$CN);

$row =mysql_fetch_array($result);
    
       
$imagen            =   $row['Imagen'];






echo 
"<div id='principal'>";
echo
"<img src='$imagen' alt=Imagen></src>";
echo 
"</div>";

         
mysql_Close();//se cierra la conexion
?>
y este es el codigo completo que utilizo para consultar y mostrar imagenes,pero yo quiero mostrar dos direcciones asociados a imagenes en un mismo campo,pero no me resulta.
Código PHP:
<?php

echo "<html>
<head>
<title>Modelamiento</title>
<LINK REL='stylesheet' TYPE='text/css' HREF='/misitio/estilo.css'>
</head>
<body background=/misitio/foto.jpg>



<div id='principal'>"
;

?>
<form name='formu' method='POST' action=<?php $_SERVER['PHP_SELF']?>>


<?php

$CN 
mysql_connect("localhost","root","");
mysql_select_db("base",$CN);

$sql="select mi_cod as Codigo,mi_titulo as Titulo
      from miscelaneo

      where mi_cod>=1 or mi_cod<=8"
;

 
/*$sql="select mod_titulo as Titulo
       from
       modelamiento M,
       imagenes I
       where M.mod_cod>=12 and M.mod_cod<=14
       and M.mod_cod=I.mod_cod";    */

$result mysql_query($sql,$CN);


echo 
"<td class='estilocelda'><font color=darkblue>Titulo del Tema:</font>&nbsp;&nbsp;</td>";
echo 
"<td><select name='codigo'>";
echo 
"<option value='seleccionar'>seleccionar</option>";
while (
$row=mysql_fetch_array($result))
{
echo 
"<option value=".$row['Codigo'].">"." ".$row['Titulo']."</option>";
}
mysql_free_result($result);
echo 
"</select>";
mysql_close();

echo
"
<input type='submit' name='Accion' value='Enviar'>
</form>
</body>
</html>"
;
?>

<?php

$codigo 
$_POST['codigo'];
//conexion a la base de datos
$CN mysql_connect("localhost","root","");
mysql_select_db("base",$CN);


$sql "select ima_direccion_imagen as Imagen
        from
        miscelaneo M,
        imagenes I

        where I.mi_cod='$codigo' and I.mi_cod=M.mi_cod"
;


$result mysql_query($sql,$CN);

$row =mysql_fetch_array($result);
       
$codigo            =   $row['Codigo'];
       
$imagen            =   $row['Imagen'];






echo 
"<div id='principal'>";
echo
"<img src='$imagen' alt=Imagen></src>";
echo 
"</div>";

         
mysql_Close();//se cierra la conexion
?>
  #2 (permalink)  
Antiguo 06/09/2006, 12:24
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
me puede dar alguna idea
gracias
  #3 (permalink)  
Antiguo 06/09/2006, 12:47
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Sonrisa modela tu tabla...

Hola, no es por nada, pero no se suele colocar dos datos en un mismo campo, a menos que no tengan ningun fin, pero el tuyo si tiene fin, que es mostrar varias fotos, lo que debes hacer es crear una tabla extra donde guardas la info de las foto ejemplo:
tabla_usuarios
--------------
id_usuario
nombres
etc..

tabla_usuarios_fotos
--------------------
id_usuario
ruta_foto

como te daras cuenta es mas facil asi, ya que consultas al usuario a traves de id_usuario, y para la consulta seria algo asi:
Cita:
Select * from tabla_usuarios INNER JOIN tabla_usuarios_fotos ON tabla_usuarios.id_usuario=tabla_usuarios_fotos.id_ usuario
como te daras cueenta en esta consulta hacemos referencia a las dos tablas y obtenemos todos los datos de la segunda, espero te sriva, nos vemos
Saludos. Babay
  #4 (permalink)  
Antiguo 06/09/2006, 14:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
gracias por responder,ya tengo las dos tablas
-----------------------------
Código:
        MI_COD  (primaria)	
	MI_TITULO 	
	MI_TEMA
-----------------------------------

tabla de las imagenes
--------------------------------
Código:
        IMA_COD  (primaria)	
        MI_COD(esta es mi clave foranea que me relaciona con la tabla usuarios)
        IMA_DIRECCION_IMAGEN(almacena direccion de la imagen)
esto es lo que quiero realizar:
ejemplo:
selecciono al usuario "juan"
luego realizo la consulta y deberia mostrarme todas las fotos que pertenecen al usuario juan,pero solo me muestra la primera.

esto tengo en mis tablas:
tabla usuarios
Código:
------------------------
 MI_COD   	  MI_TITULO   	  MI_TEMA
   1 	                Juan 	           vida de juan
Código:
tabla imagenes
----------------------
 IMA_COD   	  MI_COD   	IMA_DIRECCION_IMAGEN 

  21  	                1  	         /misitio/fotografia/foto1.jpg

  22 	                1 	         /misitio/fotografia/foto2.jpg
con este codigo realizo la consulta y deberia mostrarme todas las imagenes que se relacionan con la clave 1,pero solo me muestra la primera imagen,en el img src que corresponde a la clave 21 de la tabla imagenes,ya que la clave 1 es la foranea que me relaciona con la tabla usuarios.
Como puedo solucionar ese problema?
gracias.
Código PHP:
<?php

$codigo 
$_POST['codigo'];
//conexion a la base de datos
$CN mysql_connect("localhost","root","");
mysql_select_db("base",$CN);


$sql "select ima_direccion_imagen as Imagen
        from
        miscelaneo M,
        imagenes I

        where I.mi_cod='$codigo' and I.mi_cod=M.mi_cod"
;


$result mysql_query($sql,$CN);

$row =mysql_fetch_array($result);
       
$codigo            =   $row['Codigo'];
       
$imagen           =   $row['Imagen'];






echo 
"<div id='principal'>";
echo
"<img src='$imagen' alt=Imagen></src>";

echo 
"</div>";

         
mysql_Close();//se cierra la conexion
?>
  #5 (permalink)  
Antiguo 06/09/2006, 17:34
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
quien me puede ayudar?
  #6 (permalink)  
Antiguo 06/09/2006, 23:54
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
De acuerdo usa un for o while...

hola, claro que te mostrara una sola imagen, pues eso es lo que pides tu de la bd, lo que debes hacer es utilizar un for o while, para darle recorrido a todos los resultados algo asi:
Código PHP:
   $result mysql_query($sql,$CN);
   
$num_rows=mysql_num_rows($result);
   echo 
"<div id='principal'>";
   for (
$fila=1$fila<=$num_rows$fila++){
       
$row =mysql_fetch_array($result);
       
$codigo  =   $row['Codigo'];
       
$imagen  =   $row['Imagen'];
       echo
"<img src='$imagen' alt=Imagen></src><br>";
   }
   echo 
"</div>"
pruebalo espero te sriva lo adpte de tu propio codigo, por cierto, deberias usa php5, es mas facil hacer esto en el 5 saludos bay
  #7 (permalink)  
Antiguo 07/09/2006, 10:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Cita:
Iniciado por Bellenger Ver Mensaje
hola, claro que te mostrara una sola imagen, pues eso es lo que pides tu de la bd, lo que debes hacer es utilizar un for o while, para darle recorrido a todos los resultados algo asi:
Código PHP:
   $result mysql_query($sql,$CN);
   
$num_rows=mysql_num_rows($result);
   echo 
"<div id='principal'>";
   for (
$fila=1$fila<=$num_rows$fila++){
       
$row =mysql_fetch_array($result);
       
$codigo  =   $row['Codigo'];
       
$imagen  =   $row['Imagen'];
       echo
"<img src='$imagen' alt=Imagen></src><br>";
   }
   echo 
"</div>"
pruebalo espero te sriva lo adpte de tu propio codigo, por cierto, deberias usa php5, es mas facil hacer esto en el 5 saludos bay
gracias por la ayuda,me sirvio mucho el codigo y estoy utilizando php5,en el 5 como deberia hacerlo?.
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 17:51.