Preciso puxar dados de 03 tabelas do mesmo banco Mysql
13/03/2017
0
Preciso puxar os dados de 03 tabelas diferentes do mesmo banco, apenas uma puxa as informações as outras duas não. alguém pode me dar uma ajuda??
Segue o código:
=====================
<?php include("acesso.php"); // conecta ao banco de dados $con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); // seleciona a base de dados em que vamos trabalhar mysql_select_db($db, $con); // cria a instrução SQL que vai selecionar os dados $query = sprintf("SELECT Nome1, Texto1, Item11, Item21, Item31, Item41, Imagem1 FROM NP"); // cria a instrução SQL que vai selecionar os dados $query = sprintf("SELECT Nome, Texto, Item1, Item2, Item3, Item4, Imagem FROM TE"); // cria a instrução SQL que vai selecionar os dados $query = sprintf("SELECT Nome2, Texto2, Item12, Item22, Item32, Item42, Imagem2 FROM MRP"); // executa a query $dados = mysql_query($query, $con) or die(mysql_error()); // transforma os dados em um array $linha = mysql_fetch_assoc($dados); // calcula quantos dados retornaram $total = mysql_num_rows($dados); ?>
Onde serão exibida as informações das tabelas:
============================
<?php // se o número de resultados for maior que zero, mostra os dados if($total > 0) { // inicia o loop que vai mostrar todos os dados do { ?> <div id="slidingDiv" class="toggleDiv row-fluid single-project"> <div class="span6"> <img src="admin/arquivos/<?=$linha['Imagem1']?>" /> </div> <div class="span6"> <div class="project-description"> <div class="project-title clearfix"> <h3><?=$linha['Nome1']?></h3> <span class="show_hide close"> <i class="icon-cancel"></i> </span> </div> <p><?=$linha['Texto1']?></p> <div class="project-info"> <div><?=$linha['Item11']?></div> <div><?=$linha['Item21']?></div> <div><?=$linha['Item31']?></div> <div><?=$linha['Item41']?></div> </div> </div> </div> </div> <div id="slidingDiv1" class="toggleDiv row-fluid single-project"> <div class="span6"> <img src="admin/arquivos/<?=$linha['Imagem']?>" > </div> <div class="span6"> <div class="project-description"> <div class="project-title clearfix"> <h3><?=$linha['Nome']?></h3> <span class="show_hide close"> <i class="icon-cancel"></i> </span> </div> <p><?=$linha['Texto']?></p> <div class="project-info"> <div><?=$linha['Item1']?></div> <div><?=$linha['item2']?></div> <div><?=$linha['item3']?></div> <div><?=$linha['item4']?></div> </div> </div> </div> </div> <div id="slidingDiv2" class="toggleDiv row-fluid single-project"> <div class="span6"> <img src="admin/arquivos/<?=$linha['Imagem2']?>"> </div> <div class="span6"> <div class="project-description"> <div class="project-title clearfix"> <h3><?=$linha['Nome2']?></h3> <span class="show_hide close"> <i class="icon-cancel"></i> </span> </div> <p><?=$linha['Texto2']?></p> <div class="project-info"> <div><?=$linha['Item12']?></div> <div><?=$linha['Item22']?></div> <div><?=$linha['Item32']?></div> <div><?=$linha['Item42']?></div> </div> </div> </div> </div> <ul id="portfolio-grid" class="thumbnails row"> <li class="span4 mix web"> <div class="thumbnail"> <img src="admin/arquivos/<?=$linha['Imagem1']?>" > <a href="#single-project" class="more show_hide" rel="#slidingDiv"> <i class="icon-plus"></i> </a> <h3><?=$linha['Nome1']?></h3> <div class="mask"></div> </div> </li> <li class="span4 mix photo"> <div class="thumbnail"> <img src="admin/arquivos/<?=$linha['Imagem']?>" > <a href="#single-project" class="show_hide more" rel="#slidingDiv1"> <i class="icon-plus"></i> </a> <h3><?=$linha['Nome']?></h3> <div class="mask"></div> </div> </li> <li class="span4 mix identity"> <div class="thumbnail"> <img src="admin/arquivos/<?=$linha['Imagem2']?>" > <a href="#single-project" class="more show_hide" rel="#slidingDiv2"> <i class="icon-plus"></i> </a> <h3><?=$linha['Nome2']?></h3> <div class="mask"></div> </div> </li> </ul> <?php // finaliza o loop que vai mostrar os dados }while($linha = mysql_fetch_assoc($dados)); // fim do if } ?>
Desde já obrigado!!!!
Lico
Post mais votado
14/03/2017
Se as tabelas são relacionadas utilizem, preferencialmente, "join" ao invés de "where".
Lico, PHP não é a minha praia, mas
/<?=$linha['a.Imagem1']?>
/<?=$linha['Imagem1']?>
No SQL apesar de vc usar o alias, antes do nome do campo para referenciar a tabela, no result o nome dos campos não trás o alias ou o nome da tabela de onde os dados vieram.
Espero ter ajudado ! :)
Marcus Soares
Mais Posts
13/03/2017
Flávio Reis
1 criar alias para cada tabela
2 chamar os campos das tabelas consoante cada alias
como exemplo:
SELECT a.nome, a.texto1, b.nome, b.texto1, c.nome, c.texto1 FROM TBA as a , tbb as b, tbc as c
se as tabelas forem relacionadas só tens que fazer : WHERE a.id = b.id_chave estarngeira_a AND b.id=c.id_chave estarngeira_b etc etc
13/03/2017
Lico
Obrigado, fiz o que indicou, mais printa a informações do das Tb.
// cria a instrução SQL que vai selecionar os dados $query = sprintf("SELECT a.Nome1, a.Texto1, a.Item11, a.Item21, a.Item31, a.Item41, a.Imagem1, b.Nome, b.Texto, b.Item1, b.Item2, b.Item3, b.Item4, b.Imagem, c.Nome2, c.Texto2, c.Item12, c.Item22, c.Item32, c.Item42, c.Imagem2 FROM NP as a, TE as b, MRP as c");
Acredito que o problema por ser aqui agora:
<?php // se o número de resultados for maior que zero, mostra os dados if($total > 0) { // inicia o loop que vai mostrar todos os dados do { ?> <div id="slidingDiv" class="toggleDiv row-fluid single-project"> <div class="span6"> <img src="admin/arquivos/<?=$linha['a.Imagem1']?>" /> </div> <div class="span6"> <div class="project-description"> <div class="project-title clearfix"> <h3><?=$linha['a.Nome1']?></h3> <span class="show_hide close"> <i class="icon-cancel"></i> </span> </div> <p><?=$linha['a.Texto1']?></p> <div class="project-info"> <div><?=$linha['a.Item11']?></div> <div><?=$linha['a.Item21']?></div> <div><?=$linha['a.Item31']?></div> <div><?=$linha['a.Item41']?></div> ...
13/03/2017
Flávio Reis
Se quiseres podes contactar-me pelo skype : flavio.dos.reis1,
20/03/2017
Kelvin Eger
SELECT FROM a.cod_tabelaA, a.nome, a.numero, b.cod_tabelaB, b. nomaTabelaB, b.numeroTabelaB FROM tabelaA a tabelaB b where cod_tabelaA = cod_tabelaB
Clique aqui para fazer login e interagir na Comunidade :)