¿Por que se almacenan resultados utilizando diferente nombre para almacenar el array PHP?
La idea es que se haga una consulta 5 veces a la base de datos utilizando la misma funcion solo cambiando el nombre del pais en la consulta sql.
Este es mi codigo
class.php
public function MuestraDatos($pais)
{
$sql = "select * from demografia where continente = '".$pais."' order by 'decada' ASC";
$conexion = $this->conexion;
$smtm = $conexion->prepare($sql);
$smtm->execute();
while($fila = $smtm->fetch())
{
$this->elementos[] = $fila;
}
return $this->elementos;
}INDEX.PHP
require_once 'class/class.php';
$Actividad1Obj = new Actividad1;
//$MostrandoDatosAfrica = $Actividad1Obj->MuestraDatos('AFRICA');
$MostrandoDatosAmerica = $Actividad1Obj->MuestraDatos('AMERICA');
$MostrandoDatosAsia = $Actividad1Obj->MuestraDatos('asia');
$MostrandoDatosEuropa = $Actividad1Obj->MuestraDatos('EUROPA');
$MostrandoDatosMundo = $Actividad1Obj->MuestraDatos('MUNDO');
print_r($MostrandoDatosEuropa);
exit;Y este es mi resultado
Array ( [0] => Array ( [id] => 8 [0] => 8 [decada] => 1950 [1] => 1950 [poblacion] => 331 [2] => 331 [continente] => AMERICA [3] => AMERICA ) [1] => Array ( [id] => 15 [0] => 15 [decada] => 1950 [1] => 1950 [poblacion] => 1436 [2] => 1436 [continente] => ASIA [3] => ASIA ) [2] => Array ( [id] => 22 [0] => 22 [decada] => 1950 [1] => 1950 [poblacion] => 547 [2] => 547 [continente] => EUROPA [3] => EUROPA ) )
Al hacer el print_r de los datos de europa deberia mostrarme los datos de europa unicamente pero me muestra todos los que estan por encima ademas, podria cambiar el nombre de la funcion y crear una funcion por cada pais, pero preferiria acortar el codigo todo lo posible y ademas me interesa mas saber el por que se me almacenan también los superiores.
1 respuesta
Respuesta de Ever Escoto
