Php MySQL选择许多表,每个表';结果是';s自己的密钥/val对

Php MySQL选择许多表,每个表';结果是';s自己的密钥/val对,php,mysql,Php,Mysql,希望这不是一个愚蠢的问题,在标题中很难解释,但是…我有一定数量的表,其中大多数没有相同的结构…除了startDate。例如,假设有三个表具有如下列结构: t1: id a b c startDate t2: id e f g h i startDate t3: id j k startDate 我想将它们全部放入一个结果中,该结果类似于以下json类型格式: [{"t1":array({ //all rows for t1

希望这不是一个愚蠢的问题,在标题中很难解释,但是…我有一定数量的表,其中大多数没有相同的结构…除了
startDate
。例如,假设有三个表具有如下列结构:

t1:
id   a   b   c   startDate

t2:
id   e   f   g   h   i    startDate

t3:
id   j   k   startDate
我想将它们全部放入一个结果中,该结果类似于以下json类型格式:

[{"t1":array({
    //all rows for t1
    })
 },{"t2":array({
    //all rows for t2
    })
 },{"t3":array({
    //all rows for t3
    })
 }]
我希望能够在PHP中执行类似的操作:

foreach ($results as $key => $val) {
    if ($key == "t1") {
        //parse t1 $val array
    }elseif ($key == "t2") {
        //parse t2 $val array
    }elseif ($key == "t3") {
        //parse t3 $val array
    }
}
我知道使用
UNION ALL
是可能的,但我必须为列执行
NULL
值,因此如果我有6或7个表,查询将非常混乱。是否有一种方法可以使用
GROUP_CONCAT
来获得所需的结果,并且在arg1和arg2之间有一个
startDate

或者…最好对执行一个
循环并查询每个表,然后用PHP将其全部放在一起?

请尝试此方法

//db connection

$json = array();
$tables = array("t1","t2","t3");
for($i=0;$i<count($tables);$i++){
    $rows = array();$row = array();
    $sql = "SELECT * FROM $tables[$i]";
    $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result)){
        $rows[] = $row;
    }
    $json[$tables[$i]] = $rows;
}

//you can use print_r($json) to display the array or json like
echo json_encode($json)
//数据库连接
$json=array();
$tables=数组(“t1”、“t2”、“t3”);

对于($i=0;$i),它可以作为一个备份解决方案,但我希望得到一个示例,如果可以在一个查询中执行此操作。这似乎是对表的不必要调用。。。?