Problema ao organizar valores retornados de uma query em tabela HTML
Sou iniciante em PHP e estou tentando fazer um sistema onde posso gerenciar um banco de dados completamente, é tipo o PhpMyAdmin só que menos completo e mais fácil de utilizar. No momento, estou trabalhando na parte em que são retornadas e imprimidas na tela as tabelas do bd e, então, ao selecionar uma tabela, o sistema gera uma tabela em HTML que tem como <th> as colunas do bd e <td> os valores. Consegui fazer, mas estou tendo problemas ao separar o <th> do <td> (o tr fica em cima). Olha o código e veja o resultado (o problema começa na linha 13):
<!-- Corpo -->
<div class="corpo">
<?php if(!isset($_GET['tabela'])){ //Checa se a tabela foi selecionada, se não foi, imprime as tabelas
echo"
<span class='subtitulo'>Tabelas</span><hr />
<table>";
include("php/config.php");
$query = mysqli_query($conn, "SHOW TABLES");
while($row = mysqli_fetch_array($query)){
echo '<tr><td>' . $row['0'] . '</td><td>' . ' <a href="explorar.php?tabela=' . $row['0'] . '"><img src="img/adc/go.png" alt="Go"></a></td></tr>';
}
echo"</table>";
} elseif(isset($_GET['tabela'])) { //O problema começa aqui, onde ele busca os dados da tabela no bd
include("php/config.php"); //Conexão com o banco de dados
echo"<span class='subtitulo'>Tabela: ". $_GET['tabela'] . "</span><hr><table><tr>"; //Imprime o nome da tabela selecionada
$sql = sprintf("SHOW COLUMNS FROM %s", $_GET['tabela']);
$query1 = mysqli_query($conn, $sql); //Busca as colunas
while($col = mysqli_fetch_array($query1)){ //Armazena as colunas numa array
echo"<th>" . $col[0] . "</th>"; //Imprime o nome das colunas dentro do table head
$sql1= sprintf("SELECT %s FROM %s", next($col), $_GET['tabela']); //Usei o next() porque o nome das colunas é desconhecido
$query = mysqli_query($conn, $sql1); //Busca os valores das colunas
while($row = mysqli_fetch_array($query)){
echo"<td>" . $row[0] . "</td>"; //Imprime os valores das colunas
}
}
echo"</tr></table>";
}
?>
</div>
E aqui o resultado:
'ads' é o nome da tabela (aleatório)
Negrito: colunas
Números: valores
Eu queria que ficasse assim:
Já tentei retirar essa parte do código e colocar do lado de fora do primeiro while, mas deu erro:
$sql1= sprintf("SELECT %s FROM %s", next($col), $_GET['tabela']);
$query = mysqli_query($conn, $sql1);
while($row = mysqli_fetch_array($query)){
echo"<td>" . $row[0] . "</td>";
}
Por favor, me ajudem!
Discussão (2)
Carregando comentários...