Foros del Web » Programando para Internet » PHP »

Problema array de datos

Estas en el tema de Problema array de datos en el foro de PHP en Foros del Web. Hola tengo una consulta con un array de datos que debo generar lo que pasa es que tengo un while donde traigo datos.... dentro de ...
  #1 (permalink)  
Antiguo 04/04/2011, 12:56
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Problema array de datos

Hola tengo una consulta con un array de datos que debo generar lo que pasa es que tengo un while donde traigo datos....
dentro de ese while debo hacer otra consulta que conecta el ID con otra tabla que a su vez se conecta con esta a traves del id de la primera tabla.

me explico
tabla 1 con un id unico que se conecta a
tabla 2 con varios registros que pueden tener el id de la tabla 1

entonces :

Código PHP:
Ver original
  1. <?php
  2. //CONECTO BASE DE DATOS.....
  3. //y realizo mi consulta
  4. $sql1 = mysql_query("SELECT * FROM publicacion ORDER BY idpublicacion ASC");
  5. while ($datos = mysql_fetch_array($sql1))
  6. {
  7. //traigo mis datos y hago mi otra consulta
  8. $sqlba = mysql_query("SELECT * FROM publicacion_autores WHERE idpublicacion = '$datos[idpublicacion]'");
  9. while ($autor = mysql_fetch_array($sqlba))
  10. {
  11. $cad[] = utf8_encode("$autor[nombre] $autor[paterno] $autor[materno]");
  12. }
  13. $cadena = implode(",", $cad);
  14.  
  15. echo "$cadena<br />";
  16.  
  17. }
  18. ?>

la cosa es que necesito poner la cadena fuera del while y pues me funciona en la primera pasada pero en la segunda me devuelve los datos de la primera mas la segunda y asi sucesivamente :/ digo me esta devolviendo

1.- a, b, c
2.- a, b, c, d, e
3.- a, b, c, d, e, f, g, h

cuando deberia ser

1.- a, b, c
2.- d, e
3.- f, g, h

Alguna idea de como puedo resolver esto...
Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 04/04/2011, 13:00
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema array de datos

Saludos

Debes inicializar el array

Código PHP:
Ver original
  1. <?php
  2. //CONECTO BASE DE DATOS.....
  3. //y realizo mi consulta
  4. $sql1 = mysql_query("SELECT * FROM publicacion ORDER BY idpublicacion ASC");
  5. while ($datos = mysql_fetch_array($sql1))
  6. {
  7. $cad=array();//Inicializa Array
  8. //traigo mis datos y hago mi otra consulta
  9. $sqlba = mysql_query("SELECT * FROM publicacion_autores WHERE idpublicacion = '$datos[idpublicacion]'");
  10. while ($autor = mysql_fetch_array($sqlba))
  11. {
  12. $cad[] = utf8_encode("$autor[nombre] $autor[paterno] $autor[materno]");
  13. }
  14. $cadena = implode(",", $cad);
  15.  
  16. echo "$cadena<br />";
  17.  
  18. }
  19. ?>
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 04/04/2011, 13:11
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema array de datos

andale Nano_ tienes toda la razón muchas gracias :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 04/04/2011, 13:57
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema array de datos

solo como duda como puedo hacer para que las comas me queden despues del nombre me sale

a ,b ,c ,d ,e por ejemplo y me gustaría que fuera
a, b, c, d, e es solo por una cuestión de estética nada mas...

Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 04/04/2011, 14:02
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema array de datos

Saludos

En el implode le das un espacio

Código PHP:
Ver original
  1. cadena = implode(", ", $cad);
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 04/04/2011, 14:10
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema array de datos

si jajja el problema es que me daba un espacio antes y era por que tenia un &nbsp; no me habia dado cuenta gracias :P
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Etiquetas: Ninguno
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 07:09.