Foros del Web » Programando para Internet » PHP »

Problema con formación de array

Estas en el tema de Problema con formación de array en el foro de PHP en Foros del Web. Hola foreros, qué tal? Tengo un problemilla con la formación de un array. Realizo una consulta a una BD Mysql: Código PHP: $aUsers  = array(); $q  ...
  #1 (permalink)  
Antiguo 25/10/2008, 10:18
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Problema con formación de array

Hola foreros, qué tal?

Tengo un problemilla con la formación de un array.

Realizo una consulta a una BD Mysql:

Código PHP:
$aUsers = array();
$q "Select apellidos, nombre from autores";
$r mysql_query($q);
$aUsers mysql_fetch_array($r); 
Y los resultados los quieros guardar en un array en este formato

Código PHP:
    $aUsers = array(
        
"Ädams, Egbert",
        
"Altman, Alisha",
        
"Archibald, Janna",
        
"Auman, Cody",
        
"Bagley, Sheree",
        
"Ballou, Wilmot",
        
"Bard, Cassian",
        
"Bash, Latanya",
        
"Wire, Tallulah",
        
"Woodworth, Alexandria",
        
"Zaun, Jillie"
    
); 
Pero no lo consigo. A pesar de que la base de datos contiene más de 300 registros hago un
Código PHP:
count($aUsersy siempre me devuelve 4 
A ver si alguien me puede abrir los ojos.

Muchas gracias!!!
  #2 (permalink)  
Antiguo 25/10/2008, 10:27
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: Problema con formación de array

Yo lo hago de la siguiente manera
Código PHP:
$aUsers mysql_fetch_assoc($r); 
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 25/10/2008, 20:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con formación de array

Hola damargon,

Prueba en tu consulta hacer algo así:
Código sql:
Ver original
  1. SELECT CONCAT(apellidos, " , ",  nombre) AS 'nombre_completo' FROM autores

Saludos.
  #4 (permalink)  
Antiguo 25/10/2008, 20:39
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con formación de array

Te sale 4 porque estás solicitando en la consulta dos columnas (apellidos y nombre), y al usar mysql_fetch_array() se genera un array con índices asociativos (el nombre de la columna) y además índices numéricos.

mysql_fetch_assoc() genera un array sólo con índices asociativos. Pero eso no soluciona tu problema. Lo que pasa es que esas funciones devuelven los resultados generados por la consulta fila por fila, osea, necesitas generar un ciclo para extraer todas las filas:

Código php:
Ver original
  1. $aUsers = array();
  2. $q = "Select apellidos, nombre from autores";
  3. $r = mysql_query($q);
  4.  
  5. // Generando el ciclo
  6. while($d = mysql_fetch_array($r)) {
  7.     $aUsers[] = $d; // Guardamos en el array la fila generada en cada ciclo
  8. }
  9.  
  10. echo '<pre>' . print_r($aUsers, 1) . '</pre>';

Saludos,
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:14.