Foros del Web » Programando para Internet » PHP »

Ayuda con relación de tablas y recuperación de datos

Estas en el tema de Ayuda con relación de tablas y recuperación de datos en el foro de PHP en Foros del Web. Hola buenas tardes. Me estoy haciendo un poco de lio con dos tablas que tengo En una de ellas tengo datos de productos y en ...
  #1 (permalink)  
Antiguo 02/01/2010, 10:39
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Ayuda con relación de tablas y recuperación de datos

Hola buenas tardes.

Me estoy haciendo un poco de lio con dos tablas que tengo

En una de ellas tengo datos de productos y en la otra fotos de esos productos

La relación de la tabla se hace bien el problema es en la ficha de productos no logro recuperar los nombres de las fotos.

Tabla FOTOS:
id - idproducto - foto

Tabla PRODUCTOS

id - el resto de los datos.

En el select para las fotos le hago un WHERE id=$idproducto hasta hay todo es correcto el problema lo tengo a partir de aqui la ficha de productos puede contener desde 0 a 4 fotos.

Como le asigno un valor a cada una de las variables que tengo para cada foto

$foto1 - $foto2 - $foto3 y $foto4

El código que tengo ahora es el siguiente:

Código PHP:
$sql="SELECT * FROM fotos WHERE idproducto=$id1";
$r=mysql_query($sql$link);

    
$fila=mysql_fetch_row($r);
        
    
$foto1=$fila[0];
    
$foto2=$fila[1];
    
$foto3=$fila[2];
    
$foto4=$fila[3]; 
En caso de no tener las cuatro fotos me suelta un fallo "Undefined offset" es normal ya que el array no tiene datos para asirgar a esa variable.

Supongo que estoy enfocando el problema mal.

Alguna ayuda, alguien me puede decir como enfocar mejor el problema?

Muchas gracias.
  #2 (permalink)  
Antiguo 02/01/2010, 10:45
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Ayuda con relación de tablas y recuperación de datos

Tienes que tener claro que para recoger varios registros de una base de datos necesitamos un BUCLE, ahi va un ejemplo de un bucle para que recorra TODAS las fotos de un producto y vaya mostrando el campo "foto" de cada fila:

Código PHP:
$sql="SELECT * FROM fotos WHERE idproducto=$id1"
$r=mysql_query($sql$link); 
while (
$fila=mysql_fetch_array($r)) {
echo 
$fila[2]."<br>";

Prueba este codigo y me dices, saludos
  #3 (permalink)  
Antiguo 02/01/2010, 11:00
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Ayuda con relación de tablas y recuperación de datos

Hola Vun gracias por la ayuda

con el while tambien había probado.

Lo que necesito es que cada dato que me recupere de los registros de la tabla me lo pase a una variable para posteriormente poder mostrar la foto.

Código PHP:
$sql="SELECT * FROM fotos WHERE idproductos=$id1";
$r=mysql_query($sql$link);

    while (
$fila=mysql_fetch_assoc($r)){
        
$foto1=$fila["foto"];
         
        echo 
$foto1;


Lo que veo que me hace es asignarme los nombres de todas las fotos a $foto1 pero en realizad lo que necesito es que asigne un nombre de foto a cada variable.

No se si me explico bien.

Saludos.
  #4 (permalink)  
Antiguo 02/01/2010, 11:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con relación de tablas y recuperación de datos

frmfernando, ...y que te parece usar tu imaginación y creatividad??

digo, si necesitas coleccionar los nombres... usa un array() hombre!!

si no sabes como utilizarlos, por favor... lee el manual
http://php.net/array
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/01/2010, 11:39
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Ayuda con relación de tablas y recuperación de datos

En vez de:

$foto1=$fila["foto"];

Pon:

$i++;$foto[$i]=$fila["foto"];


Y al terminar el bucle tendras $foto[1], $foto[2], $foto[3].... El saber manejar arrays es algo basico para todo programador. Hay funciones luego para trabajar en una variable array, y tambien puedes crear arrays multidimensionales $variable[40][23]=1; por ejemplo, muy util a la hora de manejar "tableros" o similares
  #6 (permalink)  
Antiguo 02/01/2010, 11:40
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Ayuda con relación de tablas y recuperación de datos

Hola Paketetrueke, gracias por tu colaboración.

Con ayudas como la que me acabas de ofrecer aprendemos todos mucho, solo te faltaba decirme que vaya a www.google.es y que busque un poco.

Vamos majo...

Será que no he buscado, si hago una pregunta en el foro es porque he llevo buscando un buen rato y no termino de encontrar la solución, lo del tema del del array ya lo he probado y hago algo mal ya que a todas las variables me pasa el mismo valor.

Haciendo un print_r veo que los datos me llegan bien

Array ( [foto] => foto1.png ) Array ( [foto] => foto2.jpg ) Array ( [foto] => foto3.jpg ) Array ( [foto] => foto4.jpg )

Saludos.
  #7 (permalink)  
Antiguo 02/01/2010, 11:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con relación de tablas y recuperación de datos

Cita:
Iniciado por frmfernando Ver Mensaje
[... ] lo del tema del del array ya lo he probado y hago algo mal ya que a todas las variables me pasa el mismo valor [...]
ya se que soy de lo peor... pero, también esperas que adivinemos tu código actual... como para saber que es lo que está mal??

eres muy claro, tienes un error... y solo nos dices "hago algo mal" (eso no sirve si necesitas ayuda)

por favor, se que entiendes... no te ofendas!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 02/01/2010, 11:57
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Ayuda con relación de tablas y recuperación de datos

No me ofendo pero tranquilo.

Mira el código que tengo en estos momentos es este.

Código PHP:
$id1=$_GET["id1"];

$sql="SELECT foto FROM fotos WHERE idfoto=$id1";
$r=mysql_query($sql$link);
    while (
$fila=mysql_fetch_row($r)){
        
$foto1=$fila[0];
        
$foto2=$fila[0];
        
$foto3=$fila[0];
        
$foto4=$fila[0];
        
        
print_r ($fila);
        } 
El array me da el siguiente resultado:

Array ( [0] => foto1.png ) Array ( [0] => foto2.jpg ) Array ( [0] => foto3.jpg ) Array ( [0] => foto4.jpg )

Pero el valor de las 4 variables $foto se me queda es el último que le llega $foto4.png

Supongo que estoy planteando mal esta cuestión y por eso me da este resultado por eso había lanzado la pregunta.

Por el momento no puedo decir que sé PHP en verano comence con una página y como veía que esto me desbordaba me apunte a un curso de PHP y Mysql llevo dos meses por eso creo que es normal que este algo perdido y algunas veces cuestines que suelen ser sencillas las plantee de una manera enrevesada.

Tambien tengo que decir y no es por hacer la pelota a nadie que gracias a este foro estoy aprendiendo mucho y que me está sirviendo como un apoyo muy grande a las clases.

Gracias.
  #9 (permalink)  
Antiguo 02/01/2010, 12:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con relación de tablas y recuperación de datos

perfecto!!

ahora se ve mas claro que como decías anteriormente, es sencillo:
Código PHP:
$fotos = array(); // declaramos nuestro arreglo
    
while ($fila=mysql_fetch_row($r)){
/* todo esto no tiene sentido, reflexionalo
        $foto1=$fila[0];
        $foto2=$fila[0];
        $foto3=$fila[0];
        $foto4=$fila[0];
        
        print_r ($fila);
*/
      
$fotos []= $fila[0];
        } 
    
print_r($fotos); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 02/01/2010, 13:00
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Ayuda con relación de tablas y recuperación de datos

Con este último codigo lo he visto todo mucho más claro.

Ya funciona bien.

Muchas gracias una vez más.

Saludos.

Etiquetas: tablas
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 21:47.