how can i do to return a query grouping by table name using pdo, php and mysql?

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

Scroll to Top