PHP - Array multidimensional

 
Vista:

Array multidimensional

Publicado por emiliano (1 intervención) el 01/05/2020 01:53:27
Hola, estoy teniendo problemas para recorrer los vaores de un array multidimensional. Voy cargando el array con el contenido de una tabla. No puedo diferenciar entre los valores de cada registro que obtengo de la base de datos, cuand lo quiero recorrer.
Es una tabla con la siguiente estructura:
codigo: integer
nombre_carrera:string
numero_resolucion:integer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//concto con la base de datos
$enlace = Conectar();
$query = "SELECT * FROM carreras";
if ($sentencia = mysqli_prepare($enlace, $query))
{
	mysqli_stmt_execute($sentencia);
	/* vincular las variables de resultados */
	mysqli_stmt_bind_result($sentencia, $codigo, $nombre_carrera,$numero_resolucion);
       //declaro un array
	$listado_array = array();
	while ($row=mysqli_stmt_fetch($sentencia))
	{
                //grabo cada valor del registro en el array
		array_push($listado_array,$codigo,$nombre_carrera,$numero_resolucion);
	}
       //aca intento mostrar el array
	foreach ($listado_array as $valor)
	{
//en esta linea muestra todo el valor de ese registro o fila
		echo $valor;
               //pero si intento mostrar un solo valor del registro no lo hace, por alguna razon solo muestra el primer caracter de 'nombre_carrera'
		//echo $valor["nombre_carrera"];
	}
}


se que a la vez que recorro los diferentes regustros, me falta el poder recorrer entre las columnas o valores de ese registro. En eso fallo y no se como hacerlo, cualquier ayuda se los agradecere mucho
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 javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Array multidimensional

Publicado por javier (547 intervenciones) el 01/05/2020 11:10:01
Hola,

Podrias mostrar la estrucctura del array haciendo print_r($listado_array);

viendolo te podria orientar.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Array multidimensional

Publicado por Julio (830 intervenciones) el 01/05/2020 14:16:31
Hola.

Es normal lo que te ocurre. Paso a paso lo que haces. Construyes un array que, por ejemplo, queda así:

1
2
3
4
5
6
7
8
9
10
11
$listado_array = array(
    1,
    "Carrera 1",
    34,
    2,
    "Carrera 2",
    67
    3,
    "Carrera 3",
    21
);

Y que corresponde a que el primer elemento es el código, el segundo el nombre de la carrera y el tercero el número de resolución. El cuarto volverá a ser el código de la siguiente carrera, etc.

Cuando lo recorres con el foreach piensa que el primer valor que te coge es el 1, luego te cogería "Carrera 1", luego el 34, luego el 2, luego "Carrera 2", etc. No existe ningún elemento del array con índice "nombre_carrera".

OJO, todo esto sin saber qué son $codigo, $nombre_carrera y $numero_resolucion. No muestras de dónde los sacas y, además, veo que siempre son los mismos cuando estás haciendo array_push, con lo que siempre será el mismo código, nombre de carrera y número de resolución. Tendrás 3, 4, 5 o tantas líneas pero siempre con los mismos valores.

Eso o algo hay por ahí que me pierdo y no sé dónde está, pero no veo dónde defines (y cambias) esas variables.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Array multidimensional

Publicado por javier (547 intervenciones) el 01/05/2020 21:12:58
a demas de que es en la variable $row, donde esta el array que saca de la base, y despues no la utiliza para nada.

no veo de que le sirve hacer un array_push

haz el bucle forech con $row, no con $listado_array donde siempre insertas los mismos valores.


1
foreach ($row as $valor)

o

1
foreach ($row as $key => $valor)

si tambien vas a usar los indices del array
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