Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal boa noite.
Como eu faço para listar todas as informações de 04 tabelas iguais (mesmos campos, porém os nomes das tabelas diferentes) ao mesmo tempo, de um mesmo Banco de Dados MySQL?
Meu código para listar apenas as informações de uma tabela está correto, porém estou com dificuldade para listar as informações das 04 tabelas ao mesmo tempo. Segue código abaixo para as 04 tabelas. Minha dificuldade está em formular o SELECT:
<?php
$dbhost = 'localhost';
$dbuser = 'teste';
$dbpass = 'teste123';
$dbname = 'banco';
// Conectando com o banco extensão classica my_connect
$conexao = @mysql_connect($dbhost,$dbuser,$dbpass)or die("Erro de conexão!");
$db = @mysql_select_db($dbname,$conexao)or die("Erro no Banco de Dados");
$consulta = mysql_query("SELECT * FROM banco1, banco2, banco3, banco4");
if (!$consulta) {
echo 'Não foi possível executar a consulta: ' . mysql_error();
exit;
}
if (mysql_num_rows($consulta) > 0) {
while ($result = mysql_fetch_assoc($consulta)) {
echo '<pre>';
$retorno[] = $result;
}
$registros = $retorno;
}
?>
<?php?>
<tr class="odd gradeX">
<td><?= $registro['id'] ?></td>
<td><?= $registro['nome'] ?></td>
<td><?= $registro['dados1'] ?></td>
<td class="center"><?= $registro['dados2'] ?></td>
<td class="center"><?= $registro['dados3'] ?></td>
<td class="center"><?= $registro['dados4'] ?></td>
<td class="center"><?= $registro['titulo'] ?></td>
<td class="center"><?= $registro['status'] ?></td>
<td class="center"><?= $registro['numero'] ?></td>
<td class="center"><?= $registro['numero2'] ?></td>
<td><a href="alterar.php?id=<?= $registro['id'] ?>"><i
class="fa fa-pencil fa-fw"></i> </a> </a></td>
<td><a href="excluir.php?id=<?= $registro['id'] ?>"
onclick="return confirm('Confirmar exclusão de registro?');"><i
class="fa fa-times fa-fw"></i> </a> </a></td>
</tr>
<?php endforeach; ?>Obrigado resolvido!
Código 100% funcional.
ficou assim:
<?php
$dbhost = 'localhost';
$dbuser = 'teste';
$dbpass = 'teste123';
$dbname = 'nome_banco';
// Conectando com o banco extensão classica my_connect
$conexao = @mysql_connect($dbhost,$dbuser,$dbpass)or die("Erro de conexão!");
$db = @mysql_select_db($dbname,$conexao)or die("Erro no Banco de Dados");
/*// Teste de conexão do banco de dados!
if (!$conexao){
return ($conexao);$consulta = mysql_query ("(SELECT * FROM tabela1) UNION (SELECT * FROM tabela2) UNION (SELECT * FROM tabela3) UNION (SELECT * FROM tabela4)");
if (!$consulta) {
echo 'Não foi possível executar a consulta: ' . mysql_error();
exit;
}
if (mysql_num_rows($consulta) > 0) {
while ($result = mysql_fetch_assoc($consulta)) {
echo '<pre>';
$retorno[] = $result;
}
print_r($retorno);
exit();
}
?>
Se todas as tabelas têm a mesma estrutura, porque não utilizar apenas uma?
Vê se a cláusula UNION (ou UNION ALL) atende às tuas necessidades.