Question:
how can i do to return a query grouping by the table name using pdo, php and mysql ?
for example I want to make a query and return a json like this one, using pdo, how?
{
"nome da tabela ": [{
"nome da coluna": "225",
"nome da coluna": "16",
}],
"outra tabela": [{
"nome da coluna": "226",
"nome da coluna": "16",
"nome da coluna": "95",
}, {
"nome da coluna": "226",
"nome da coluna": "16",
"nome da coluna": "99",
}]
}
Answer:
Try this way:
$db = new PDO('mysql:host=localhost;dbname=DB_Tests', 'asdfds', 'dsad');
$tabelas = array('users', 'posts'); // aqui coloca as tabelas que quer
$dados = array();
foreach($tabelas as $table) {
$dados[$table] = array();
$sql = 'SELECT * FROM ' .$table;
$data = $db->prepare($sql);
$data->execute();
foreach($data->fetchAll(PDO::FETCH_OBJ) as $collumn => $value) {
$dados[$table][$collumn] = $value;
}
}
$jsonData = json_encode($dados);
In the variable $tabelas
will define the tables you want