2011-07-19 25 views
19

Si estoy obteniendo datos de una base de datos MySQL y usando un ciclo while para iterar a través de los datos, ¿cómo agregaría cada uno a la matriz?Completar PHP Array desde While Loop

$result = mysql_query("SELECT * FROM `Departments`"); 
while($row = mysql_fetch_assoc($result)) 
{ 

} 

Respuesta

61

Construir una matriz como iterar con el bucle while.

$result = mysql_query("SELECT * FROM `Departments`"); 
$results = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $results[] = $row; 
} 

Alternativamente, si se ha utilizado PDO, usted podría do this automatically.

+11

¡Eres demasiado rápido! ;) – AlienWebguy

+0

cómo poner solo una columna en una matriz e indexar la matriz od ¿debería ser la clave principal? –

+0

@bhawin aprende cómo funcionan las matrices PHP y lo encontrarás simple – alex

5

esto va a hacer el truco:

$rows = array(); 
$result = mysql_query("SELECT * FROM `Departments`"); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $rows[] = $row; 
} 
5

Ésta ha sido una de las maneras más rápidas para mí para crear matrices (multidimensionales). No estoy seguro si desea que todos sus resultados se suavicen en una matriz o no.

// Read records 
$query = "SELECT * FROM `Departments`"; 
$query = mysql_query($query); 

// Put them in array 
for($i = 0; $array[$i] = mysql_fetch_assoc($query); $i++) ; 

// Delete last empty one 
array_pop($array); 

Puede usar print_r ($ array) para ver los resultados.

0

my fav es el siguiente;

$result=odbc_exec($conn,$sql); 
if ($result) { 
    while($found_results[] = odbc_fetch_array($result)) { } 
    array_pop($found_results); //pop off the empty line from while loading 
} 

No es necesario que aparezca la última línea, pero sí deja un espacio en blanco si la omite. funciona de la misma manera para mysql obviamente.

1

Si tiene varias columnas en la tabla Departamentos y desea guardarlas en una matriz diferente.

$result = mysql_query("SELECT * FROM `Departments`"); 
$dept_id = array(); 
$dept_name=array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
//fetches and store all results in id column on your departments table 
$dept_id= $row['id']; 
//fetches and store all results in name column on your departments table  
$dept_name=$row['name']; 
}