Foros del Web » Programando para Internet » PHP »

Problema al visualizar imagen php mysql

Estas en el tema de Problema al visualizar imagen php mysql en el foro de PHP en Foros del Web. Buenas tengo un problema y me preguntaba si podríais ayudarme a resolverlo. El Problema es el siguiente Tengo una base de datos sql con dos ...
  #1 (permalink)  
Antiguo 22/12/2011, 11:19
 
Fecha de Ingreso: diciembre-2011
Mensajes: 8
Antigüedad: 12 años, 4 meses
Puntos: 0
Problema al visualizar imagen php mysql

Buenas
tengo un problema y me preguntaba si podríais ayudarme a resolverlo. El Problema es el siguiente

Tengo una base de datos sql con dos tablas:
Usuarios cuyos campos con usuario, contraseña
Fotos cuyos campos son usuario, contraseña , url
Las dos están realcionadas con una clave primaria atraves del campo usuario

Mi idea es que atraves del usuario introduciod por un formulario, se visualize la imagen de cada usuario
pero me da un error el cual es mysql_fetch_array (): suministrado argumento no es un recurso válido del resultado de MySQL en C: \ AppServ \ www \ Web Prueba \ 4.php on line 12
Creo que el script esta bien echo


Os adjunto el código para ver si me podéis echar una mano Gracias.


<?php

$conexion=mysql_connect("localhost","root","root") ;

mysql_select_db("web",$conexion);

$sql = "SELECT url1,url2 FROM usuario,fotos
WHERE usuario.$usuario=fotos.$usuario";

$res=mysql_query($sql);

while($row=mysql_fetch_array($res))
{

echo'<img src="'.$row[0].'">';




}


?>



PD El formulario pasa bien la variable usuario ya que me la muestra si la visualizo con echo
  #2 (permalink)  
Antiguo 22/12/2011, 11:43
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Problema al visualizar imagen php mysql

esto tenes mal
WHERE usuario.$usuario=fotos.$usuario";

vos queres hacer que un usuario tenga muchas fotos?
  #3 (permalink)  
Antiguo 22/12/2011, 11:58
 
Fecha de Ingreso: diciembre-2011
Mensajes: 8
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema al visualizar imagen php mysql

Si mi idea es que un usuario tenga varias fotos y atraves de un formulario
pasarle un usuario
una vez pasado el usuario quier o ke me muestre todas las fotos de ese usuario
si la sintaxis deWHERE usuario.$usuario=fotos.$usuario"; esta mal me podrias indicar cual esestoy intentando relacionar dos tablas para realizar el select
  #4 (permalink)  
Antiguo 22/12/2011, 12:56
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Problema al visualizar imagen php mysql

Hola,
parte por redefinir tus tablas:

Cita:
Usuarios cuyos campos con usuario, contraseña
Fotos cuyos campos son usuario, contraseña , url
La tabla fotos sería así:

Fotos: id_foto, id_usuario, url

Así al consultar por ejemplo por un id enviado por post del usuario te aparecerán todas las fotos de ese usuario ya que usuario.id_usuario = fotos.is_usuario se cumpliría, en tu consulta llamas a url1 y url2 que no es necesario, antes de todo deberías verificar si hay Post con
if (isset($POST[id_usuario]) y asignarle una Variable.. te adjunto código de ejemplo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $conexion=mysql_connect("localhost","root","root") ;
  4. if(isset($_POST['id_usuario'])){
  5.     $variable = $_POST['id_usuario'];
  6. }
  7. mysql_select_db("web",$conexion);
  8.  
  9. $sql = sprintf("SELECT url FROM usuario,fotos
  10. WHERE '%s' = usuario.id_usuario AND  usuario.id_usuario=fotos.id_usuario",mysql_real_escape_string($variable));
  11.  
  12. $res=mysql_query($sql, $conexion);
  13. $row_res = mysql_fetch_assoc($res);
  14.  
  15.  
  16. ?>

Mostrar Foto:

Código HTML:
Ver original
  1. <?php
  2. do { ?>
  3. <img src="<?php echo $row_res['url'];?>" />
  4. <?php
  5. }
  6. while ($row_res = mysql_fetch_assoc($res));
  7. ?>
  8.  
  9. </body>
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #5 (permalink)  
Antiguo 22/12/2011, 13:09
 
Fecha de Ingreso: diciembre-2011
Mensajes: 8
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema al visualizar imagen php mysql

Gracias por tu ayuda pero me sigue dando un error y la verdad que no lo entiendo, soy incapaz de reconocer el fallo. Al ejecutarlo me sale el siguiente error:

Advertencia : mysql_fetch_assoc (): suministrado argumento no es un recurso válido del resultado de MySQL en C: \ AppServ \ www \ Web Prueba \ 5.php on line 13

Sigo esperando vuestra ayuda aver si alguien me puede ayudar y me explica porque sale ese error Gracias
  #6 (permalink)  
Antiguo 22/12/2011, 13:13
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Problema al visualizar imagen php mysql

Modificaste tus tablas?
En el código que puse usé id_usuario quizá así no lo tengas definido en tu base, los nombres de las tablas puede también que sean distintos, ese es un error en la consulta sql, revísala bien

Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #7 (permalink)  
Antiguo 22/12/2011, 13:38
 
Fecha de Ingreso: diciembre-2011
Mensajes: 8
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema al visualizar imagen php mysql

Si las modifique, aun asi me sigue saliendo

Advertencia : mysql_fetch_assoc (): suministrado argumento no es un recurso válido del resultado de MySQL en C: \ AppServ \ www \ Web Prueba \ 5.php on line 13


Y no se que puede ser ya que e probado a visualizar la foto con un Select mas sencillo y sigue saliendo.

PD Gracias por la ayuda!!
aver si conseguimos encontrar el error
  #8 (permalink)  
Antiguo 22/12/2011, 14:00
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Problema al visualizar imagen php mysql

Quizá si colocas todo el código podemos ver qué pasa (tablas, PHP, HTML), yo lo probé en local y no me arrojó error,
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #9 (permalink)  
Antiguo 22/12/2011, 15:43
 
Fecha de Ingreso: diciembre-2011
Mensajes: 8
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema al visualizar imagen php mysql

Vale aki te adjunto todo el codigo

Las dos tablas son:

Create table usuario(
usuario varchar(20),
Primary key (usuario)
) ENGINE=INNODB;

create table fotos(
usuario varchar(20),
foto1 varchar(50),
foto2 varchar(50),
Primary Key (usuario)
) ENGINE=INNODB;


El Formulario HTML es:

<html>

<head>



</head>



<body>
<form method="POST" action="5.php">
usuario
<input type="text" name="usuario">

url1
<input type="text" name="url1">
url2


<input type="submit">
</body>



</html>

Y el codigo PHP:


<?php

$conexion=mysql_connect("localhost","root","root") ;
if(isset($_POST['usuario'])){
$variable = $_POST['usuario'];
}
mysql_select_db("web",$conexion);

$sql = sprintf("SELECT url1, url2 FROM usuario,fotos
WHERE '%s' = usuario.usuario AND usuario.usuario=fotos.usuario",mysql_real_escape_s tring($variable));

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


?>
<body>
<?php
do { ?>
<img src="<?php echo $row_res['url'];?>" />
<?php
}
while ($row_res = mysql_fetch_assoc($res));
?>

</body>
  #10 (permalink)  
Antiguo 22/12/2011, 18:14
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Problema al visualizar imagen php mysql

Bueno hay varios errores, sobre todo en la estructura de tus tablas, cito lo que querías lograr:
Cita:
Si mi idea es que un usuario tenga varias fotos y atraves de un formulario
pasarle un usuario
una vez pasado el usuario quier o ke me muestre todas las fotos de ese usuario
si la sintaxis deWHERE usuario.$usuario=fotos.$usuario"; esta mal me podrias indicar cual esestoy intentando relacionar dos tablas para realizar el select
Primero yo entiendo que tu creas un usuario con sus respectivos datos y luego puedes añadir múltiples fotos para ese usuario, y la consulta que quieres hacer es que liste las fotos del usuario, para el ejemplo usamos el id del usuario:

Tus tablas:
1. Usuario

Debiera ser algo así
id_usuario
usuario
contarseña
nombres
y todo lo que quieras

Donde id_usuario es tu clave primaria y de valor tipo int, ojalá con autoincrement, pero es opcional depende de lo que quieras pero te lo aconsejo

2.Tabla Fotos
id_foto como clave primaria y de tipo int, con autoincrement
id_usuario este campo se asocia con el de la tabla usuario, es el dato que las une
url la dirección donde está alojada la foto en el servidor

-Los campos de los input deben tener el mismo nombre que los campos de tu BD
- no necesitas más de una url esta consulta arroja todas las fotos con la id del usuario
- Para no complicarte prueba la consulta desde con un archivo html usando la id como por ejemplo:

Código HTML:
Ver original
  1. <form action="5.php" method="POST">
  2. <input name="id_usuario" type="text" />
  3. <input name="enviar" type="submit" value="enviar" />
  4. </form>

Resumen: revisa bien que los campos coincidan y mejora la estructura de tus tablas...
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #11 (permalink)  
Antiguo 23/12/2011, 04:04
 
Fecha de Ingreso: diciembre-2011
Mensajes: 8
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema al visualizar imagen php mysql

Gracias por tu ayuda pero ahora ya no me muestra el error me deja la pantalla en blanco
Al final e optado por guardar el usuario, la contraseña, y las fotos en la misma tabla y asi si e conseguido mostrarlas. aunque asi queda un poco embarullado. Gracias de todas formas
  #12 (permalink)  
Antiguo 23/12/2011, 08:20
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: Problema al visualizar imagen php mysql


Retroceder nunca rendirse jamás¡¡¡¡¡, insiste hasta que te resulte, estudia, repasa, revisa con detalle y cuando lo hagas vas a ver como has mejorado y encontrarás simples estas cosas, nada resulta fácil a la primera...te lo digo yo que me doy cabezasos todos los días con algo ,

Saludos

PD: Con una tabla el usuario podrá guardar sólo un número limitado de fotos, las que definas en esa tabla.
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby

Etiquetas: formulario, mysql, sql, tabla, variables, usuarios
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 01:23.