Muk*_*n R 5 php mysql join inner-join
MySQL查询如下
SELECT t1.*, t2.*, t3.*, t4.*, t5.*, t6.*
FROM table1 t1
INNER JOIN table2 t2
INNER JOIN table3 t3
INNER JOIN table4 t4
INNER JOIN table5 t5
INNER JOIN table6 t6
order by t1.updated_time, t2.updated_time, t3.updated_time, t4.updated_time, t5.updated_time, t6.updated_time desc
Run Code Online (Sandbox Code Playgroud)
从上面的查询中,我需要带有各自表名的结果,例如
Array(
[0] => stdClass Object
(
[id] => 1
[cloumn1] => data1
[column2] => table3
[updated_time] => data1
)
[1] => stdClass Object
(
[id] => 2
[cloumn1] => data1
[column2] => table1
[updated_time] => data2
)
)
Run Code Online (Sandbox Code Playgroud)
这些表有超过 15 列,这些列可能会有所不同。
如何通过修改查询来达到结果?
小智 3
进行查询后,您可以进行 foreach 循环来获取所有列名称。像这样的东西
while($row = mysqli_fetch_assoc($query)){
foreach($row as $key => $value){
echo "$key=$value";
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想在数据库中获取表名,你可以尝试这样的事情。
$sql = "SHOW TABLES FROM database";
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_row($result)) {
echo "Table: {$row[0]}\n";
}
Run Code Online (Sandbox Code Playgroud)
首先我们需要获取表名。由于您不知道表名,我们可以使用此代码获取表名
$tables = array();
$sql = "SHOW TABLES FROM database";
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
Run Code Online (Sandbox Code Playgroud)
如果您有表格,您可以将它们添加到数组中,跳过上面的代码
$tables = array("table1","table2","table3");
Run Code Online (Sandbox Code Playgroud)
获得所有表后,我们可以从数据库开始
$data = array();
foreach($tables as $table){
$query = "select * from $table";
$res = mysqli_query($conn,$query);
while($row = mysqli_fetch_assoc($res)){
$i=1;
foreach($row as $key => $value){
$data[$i][$key][$value];
$i++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据您的需要更新代码。这是一个例子
| 归档时间: |
|
| 查看次数: |
9925 次 |
| 最近记录: |