PHP MYSQL:以升序列出表的方法

时间:2011-05-20 19:46:29

标签: php mysql

我们使用“SHOW TABLES FROM”列出数据库中的表但是没有办法按顺序列出表(ORDER BY不用于表) 还有其他任何方式来安排吗? 我们可以用PHP做到这一点:如果是,请给我提示这样做 谢谢

2 个答案:

答案 0 :(得分:5)

您可以使用INFORMATION_SCHEMA:

SELECT table_name FROM INFORMATION_SCHEMA.TABLES
  WHERE table_schema = 'db_name'
  ORDER BY table_name ASC

参考:http://dev.mysql.com/doc/refman/5.0/en/tables-table.html

答案 1 :(得分:0)

另一个不依赖于INFORMATION_SCHEMA的选项:

设置一个数组来存储表格选项:

$tableArr = array();

从所需数据库中获取表格:

$tableQuery = mysql_query("SHOW TABLES FROM databasse");

将每个表添加到您的数组中:

while($row = mysql_fetch_array($tableQuery)) {
  $tableArr[] = $row[0];
}

现在使用asort(按字母顺序)或arsort(反向字母顺序)对数组进行排序:

asort($tableArr);

现在,您只需循环遍历数组即可按字母顺序列出表格:

foreach($tableArr as $table) {
  echo "<li>$table</li>";
}