php - mysqli_fetch_row - mysqli_query
construir una matriz multidimensional desde la consulta de la base de datos mysqli usando php (3)
Necesita un segundo nivel cuando crea la matriz, en lugar de simplemente agregar claves y datos a la matriz.
Entonces, primero cree un índice (clave) con la identificación del estudiante, luego el valor de ese nuevo índice será una sub-matriz con todos los datos para ese estudiante.
Luego, el siguiente ciclo hará lo mismo para el próximo alumno.
Algo como:
while($row = $result->fetch_array())
{
$id = $row["id"];
$name = $row["name"];
$age= $row["age"];
$height = $row[''height''];
if($row[''gym_discipline''] == "Adult Gymnastics")
{
$adult[$id] = array(
"name" => $name,
"age" => $age,
"height" => $height,
);
}
}
Estoy tratando de construir una matriz multidimensional de estudiantes y sus datos de mi tabla de base de datos usando mysqli y php.
Quiero que mi matriz se vea algo como esto
Array #$adult array
(
[626] => Array #student no 626 data
(
[name] => emily,
[age] => 43,
[height] => 156,
)
[627] => #student no 627 data
(
[name] => luke,
[age] => 31,
[height] => 176,
)
)
el número es el ID de los miembros seguido de sus datos.
Así que he intentado lo siguiente
$sql = "SELECT * FROM pzgym_waitinglist WHERE seen = 0 GROUP BY gym_discipline, school_yr, id";
$result = $db->query($sql);
if ($result->num_rows > 0)
{
#set up array
$adult = array();
while($row = $result->fetch_array())
{
$id = $row["id"];
$name = $row["name"];
$age= $row["age"];
$height = $row[''height''];
if($row[''gym_discipline''] == "Adult Gymnastics")
{
$adult[$id] = "[''name''] => $name, [''age''] => $age, [''height''] => $height";
}
}
}
pero esto no está produciendo los resultados correctos, así que supongo que mi construcción de matriz es una mierda :( esto es lo que estoy consiguiendo.
Array
(
[626] => [''name''] => Emily, [''age''] => 43, [''height''] => 156
[627] => [''name''] => Luke, [''age''] => 31, [''height''] => 176
)
¿Podría alguien ayudarme a construir una matriz multidimensional exitosa a partir de los datos en mi base de datos?
Muchas gracias
Usa la construcción de la array
:
$adult[$id] = array(''name'' => $name, ''age'' => $age, ''height'' => $height);
Tienes que hacer de la siguiente manera--
$adult[$id][''name''] = $name;
$adult[$id][''age''] = $age;
$adult[$id][''name''] = $height;
Nota: - si la condición no es necesaria porque su matriz se crea a través de id.