Populate a mysql database with data in this format: andIwantedtoreturnthisinjsonusingphp,theproblemisthatIhaveforexampleseverallineswiththesamestate,andneedtoreturnthejsonstringformat:
{"Estados": {
"Espirito Santo": {
"Cidades": {
"Cidade 1": {
"Nome Unidade": {
"Nome": "a",
"Endereco": "b",
"log": "222",
"lat": "111"
},
"Nome Unidade2": {
"Nome": "a",
"Endereco": "b",
"log": "222",
"lat": "111"
}
}
}
}
}
}
That is, group all repeated states, cities as well. I have no idea how to do it, what I have achieved so far was to remove the id and create the array with the (repeated) states like this:
$resultado = $this->sql->select("SELECT * FROM tb_unidades");
//print_r($resultado);
//print_r($resultado['0']['estado']);
$estados = array();
foreach ($resultado as &$row) {
unset($row['id']);
$estados[] = array($row['estado']);
}
$estados = array("Estados"=>$estados, "Ben"=>"37", "Joe"=>"43");
print_r(json_encode($estados));
EDIT: Trying the proposed solution I got this:
$resultado=$this->sql->select("SELECT * FROM tb_unidades");
$estados = array();
$cidades = array();
foreach ($resultado as $row) {
$cidades[$row["cidade"]][] = $row;
$estados[$row["estado"]][] = $cidades;
}
$estadosp = array("Estados"=>$estados);
return json_encode($estadosp);
The cities were repeated, and some of the other states appeared.