如何使用 SQL SHOW TABLES 语句存储已排序表的列表?

我使用以下代码来显示所有表,但如何将表存储到排序数组中:


$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;

            }

        }

    }

}


千巷猫影
浏览 110回答 1
1回答

繁星淼淼

将表名放入 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;    }}
打开App,查看更多内容
随时随地看视频慕课网APP