我使用以下代码来显示所有表,但如何将表存储到排序数组中:$sql = "SHOW TABLES FROM ".$counter_database." ORDER BY TABLES DESC";$result = $conn->query($sql);$outArray = array();while($table = $result->fetch_assoc()) { $outArrayx[] = $table;}以下代码吐出数据:foreach ($outArrayx as $key => $value) { foreach ($value as $keys => $values) { $sql = "SELECT * FROM ".$values." WHERE user_id='0'"; $result = $conn->query($sql); if (strpos($values, "ckia") === 0) { while($table = $result->fetch_assoc()) { $outArray[] = $table; } } }}
1 回答
繁星淼淼
TA贡献1775条经验 获得超11个赞
将表名放入 PHP 数组中,然后对数组进行排序。而且如果不将其嵌套在行中,则在处理它时就不需要嵌套循环。
您不能使用ORDER BYwith SHOW TABLES,但可以使用LIKEwith 来仅选择符合模式的表。if那么你的循环中就不需要该语句了。
$sql = "SHOW TABLES FROM ".$counter_database." LIKE 'ckia%'";
$result = $conn->query($sql);
$outArray = array();
while($table = $result->fetch_row()) {
$outArrayx[] = $table[0];
}
sort ($outArrayx);
foreach ($outArrayx as $table) {
$sql = "SELECT * FROM ".$table." WHERE user_id='0'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
$outArray[] = $row;
}
}
- 1 回答
- 0 关注
- 140 浏览
添加回答
举报
0/150
提交
取消