Ir para conteúdo
Fórum Script Brasil
  • 0

Retornar a soma de duas tabelas no php


Guilherme Oliveira

Pergunta

Boa tarde pessoal!

Sou novo neste fórum e preciso da ajuda de vocês.

Estou fazendo um dashboard em php para mostrar a quantidade de bases de dados e o tamanho de cada base de um servidor mysql. Acontece que não estou conseguindo mostrar o somatório de duas tabelas que compõem o tamanho da base. Se rodar a query abaixo no mysql retornará os valores que desejo, mas não sei como mostrar o valor do somatório (data_length + index_length) no array.

Se alguém puder ajudar , desde já agradeço.

Segue o script :

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "teste";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Erro na conexão: " . $conn->connect_error);
}

$sql = "SELECT table_schema, sum(data_length + index_length) /1024 /1024
FROM information_schema.TABLES GROUP BY table_schema";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row


    while ($row = $result->fetch_assoc()) {
        echo "Base: " . $row["table_schema"] . "- Nome: " . $row["data_length"] . "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde.

Exatamente o que eu estava querendo, muito obrigado pela ajuda.

Só para complementar, também dá certo da seguinte forma:

SELECT table_schema, sum(data_length + index_length) /1024 /1024 as Total
FROM information_schema.TABLES GROUP BY table_schema

E na hora de imprimir o resultado:

  echo "Base: " . $row["table_schema"] . "- Tamanho: " . number_format($row["Total"], 2, ',', '.') . "MB" ."<br>";

Mais uma vez obrigado pela ajuda.

Editado por Guilherme Oliveira
Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde.

Exatamente o que eu estava querendo, muito obrigado pela ajuda.

Só para complementar, também dá certo da seguinte forma:

SELECT table_schema, sum(data_length + index_length) /1024 /1024 as Total
FROM information_schema.TABLES GROUP BY table_schema

E na hora de imprimir o resultado:

  echo "Base: " . $row["table_schema"] . "- Tamanho: " . number_format($row["Total"], 2, ',', '.') . "MB" ."<br>";

Mais uma vez obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...