Fórum Preciso puxar dados de 03 tabelas do mesmo banco Mysql #576876
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
Curtir tópico
+ 0Post 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
Gostei + 2
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
Gostei + 1
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>
...Gostei + 0
13/03/2017
Flávio Reis
Se quiseres podes contactar-me pelo skype : flavio.dos.reis1,
Gostei + 1
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)