PHP - crear un array multidimensional desde mysqul

 
Vista:

crear un array multidimensional desde mysqul

Publicado por Israel (3 intervenciones) el 08/04/2024 11:22:46
Buenas tardes,
Estoy haciendo una aplicacion para generar diferentes graficos en chartjs.

Primero saco una consulta y esta consulta por comodidad y para creo mejorar el rendimiento la estoy intentando meter en un array pero no lo consigo.
El codigo es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$z = 0;
$arrayDatos= [];
while($row = $resultado->fetch_assoc()) {
    $arrayDatos[$z] =[
      'idMedio' => $row['medio'],
      'idSector' => $row['sector'],
      'idMarca' => $row['idMarca'],
      'marca' => $row['marca'],
      'ambito' => $row['idAmbitoNotoriedad'],
      'target' => $row['idTargetNotoriedad'],
      'fechaInicio' => $row['fechaInicio'],
      'fechaFini' => $row['fechaFin'],
      'dato' => $row['dato']
    ];
 
    $z++;
}

idMedio, idSector etc.. serian los campos de la tabla que necesitaria lugo para ordenar, hacer el grafico etc
La idea de esto es tener un array y poder ordenarlo o recorrerlo segun las necesidades de los distintos graficos sin la necesidad de consultar a la bbdd otra vez.

¿Como puedo¡hacerlo?

Muchas gracias

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

crear un array multidimensional desde mysqul

Publicado por Ivan (118 intervenciones) el 11/04/2024 15:37:23
Hola,

prácticamente lo tienes hecho, puedes simplificar usando push.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$arrayDatos = [];
 
while ($row = $resultado->fetch_assoc()) {
    $data = [
        'idMedio' => $row['medio'],
        'idSector' => $row['sector'],
        'idMarca' => $row['idMarca'],
        'marca' => $row['marca'],
        'ambito' => $row['idAmbitoNotoriedad'],
        'target' => $row['idTargetNotoriedad'],
        'fechaInicio' => $row['fechaInicio'],
        'fechaFin' => $row['fechaFin'],
        'dato' => $row['dato']
    ];
 
    array_push($arrayDatos, $data);
}

Ahora tendrás un Array de 2 dimensiones $arrayDatos[0]['idMedio'], $arrayDatos[1]['idMedio'], etc. es importante tenerlo en cuenta al iterar sobre él.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar