Foros del Web » Programando para Internet » PHP »

como imprimir este tipo de consultas

Estas en el tema de como imprimir este tipo de consultas en el foro de PHP en Foros del Web. Saludos amigos del foro he avanzado mucho en mis clases y estoy haciendo un pequeño sistema pero me ha surgido una duda. yo tengo esta ...
  #1 (permalink)  
Antiguo 09/01/2012, 13:50
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 12 años, 8 meses
Puntos: 5
como imprimir este tipo de consultas

Saludos amigos del foro he avanzado mucho en mis clases y estoy haciendo un pequeño sistema

pero me ha surgido una duda.

yo tengo esta consulta

Código SQL:
Ver original
  1. SELECT * FROM tema AS t JOIN imagenes AS i ON t.id = i.id_tema

y esto me devuelve algo así:

tema1 - imagen1
tema1 - imagen2
tema1 - imagen3

es una relacion 1:N

ahora despues de la consulta generalmente uno hace esto:

Código PHP:
Ver original
  1. while($reg = mysql_fetch_array($res)){
  2.     echo $reg;
  3. }

pero asi te imprime lo de arriba y yo quisiera que me imprimiera solo

tema1
imagen1 - imagen2 - imagen3

como se logra eso sin tener que hacer dos consultas ando un poco frito con eso.



gracias por cualquier ayuda
  #2 (permalink)  
Antiguo 09/01/2012, 14:02
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: como imprimir este tipo de consultas

Se llama corte de control eso. tenes varias formas de hacerlo.

La complicada es usar una variable auxiliar en la cual si esta vacia le seteas el primer valor y en las demas iteraciones preguntas si esa variable cambio.

La forma facil es hacer un vector de vectores, donde la posiciones es tu variable de control y que cada valor se le agrega a otro vector, que seria algo asi:

Código PHP:
Ver original
  1. while($reg = mysql_fetch_array($res)){
  2.     $arr[$reg[0]][] = $reg[1];
  3. }
  4.  
  5. print_r($arr);

Algo asi seria.

entonces despues recorres ese vector donde Tema 1 seria la posicion de tu vector y las imagenes serian las posiciones de ese vector de 2 dimensiones.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 09/01/2012, 14:19
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: como imprimir este tipo de consultas

vaya salvo la carga del servidor parece más facil con dos consultas

gracias lo intentaré asi.

pero una duda más generalmente las tablas traen además de tema1 por decir algo

tema1 - nombre - id - etc

sería entonces que todos esos se guardaran la primera dimension, y las imagenes que son la relacion N en la segunda?

¿es asi o me equivoco?
  #4 (permalink)  
Antiguo 09/01/2012, 14:37
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: como imprimir este tipo de consultas

Fiajte de ir liberando memoria si tenes problema con eso.

El vector deberia ser de esta forma:

$arr[POS] = VALOR, que en nuestro caso cada VALOR del vector tiene que ser otro VECTOR con los datos.

Vos en la consulta trae lo que quieras, de lo que te tenes que asegurar es que en la posicion del vector, es decir POS, va solamente el nombre del tema o lo que necesitas que funcione como corte.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 09/01/2012, 15:06
 
Fecha de Ingreso: julio-2011
Ubicación: mexico
Mensajes: 41
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: como imprimir este tipo de consultas

no tengo problemas aun pero no esta nada mal ir previendo esos casos, gracias ahora implento lo que me dices. :)
  #6 (permalink)  
Antiguo 10/01/2012, 07:12
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: como imprimir este tipo de consultas

Cita:
Iniciado por Dani_devito Ver Mensaje
no tengo problemas aun pero no esta nada mal ir previendo esos casos, gracias ahora implento lo que me dices. :)
Dale! cualquier cosa ya sabes ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Etiquetas: imagenes, mysql, tipo
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 13:28.