Как вывести список всех таблиц MySQL и количество строк в каждой из них при помощи PHP?

115
24 января 2021, 07:10

Надо вывести список всех таблиц и чтобы рядом стояло количество строк в этой таблице. Выводится только список таблиц, а количество строк - нет.
Что я делаю не так?

<?php
require "bd.php";
$login = $_SESSION['user'];
$result = mysqli_query($link, "SHOW TABLES FROM $db_table");
$check = mysqli_num_rows($result);
if ($check == 0)
{
    echo "<br><b>Список пуст!</b><br>";
}
else
{
    while ($table = mysqli_fetch_array($result))
    {
        $numread = mysqli_num_rows($link, "SELECT * FROM `$table[0]`");
        echo "<br><a>таб $table[0]. Кол-во строк: $numread</a><br>";
    }
    }
?>
Answer 1
$db_name = "database";
$db = new mysqli('localhost', 'user', 'pass', $db_name);
//Вывод всех таблиц выбранной базы
$query = "SELECT TABLE_NAME
          FROM INFORMATION_SCHEMA.TABLES
          WHERE TABLE_SCHEMA = N'$db_name'";
$result = $db->query($query);
while($line = $result->fetch_row()){
    $query = "SELECT COUNT(*) FROM {$line[0]}";
    $count = $db->query($query)->fetch_row()[0];
    echo $line[0].':'.$count;
}

Где $db_name содержит имя нужной базы, 'user' имя пользователя, 'pass' пароль.

Название таблицы хранит $line[0] внутри цикла, $count содержит кол-во строк.

Так же если необходимо вывести кол-во столбцов можно подать запрос:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'{$line[0]}'
READ ALSO
Форма Ф.И.О. на php

Форма Ф.И.О. на php

Есть такая страничка регистрации,нужно что бы все отправлялось по форме в базу,по моей глупости и незнамке, при вводе поля ФИО, которое должно...

110
Объединить значения с одинаковыми id

Объединить значения с одинаковыми id

Нужно объединить значения с одинаковыми idЕсть массив:

112
Авторизация по ролям php mysql

Авторизация по ролям php mysql

Есть страничка авторизации и база данных

200
Вывод изображения в письме товара prestashop

Вывод изображения в письме товара prestashop

нужна помощь знатока prestashopВозможно есть где то информация или кто то может помочь, в том как можно вывести в письме (в котором выводиться...

100