我使用以下代碼來顯示所有表,但如何將表存儲到排序數組中:$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 關注
- 174 瀏覽
添加回答
舉報
0/150
提交
取消