Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 2
            [id] => 576961
            [titulo] => Preciso puxar dados de 03 tabelas do mesmo banco Mysql
            [dataCadastro] => DateTime Object
                (
                    [date] => 2017-03-14 16:45:57
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 360469
            [status] => A
            [isExample] => -1
            [NomeUsuario] => Marcus Vinícius Pacheco Soares
            [Apelido] => Marcão
            [Foto] => 360469_20140221150133.JPG
            [Conteudo] => Senhores, 

Se as tabelas são relacionadas utilizem, preferencialmente, "join" ao invés de "where".

Lico, PHP não é a minha praia, mas[code]/<?=$linha['a.Imagem1']?>[/code] não deveria ser somente [code]/<?=$linha['Imagem1']?>[/code] ?

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 ! :) ) )

Preciso puxar dados de 03 tabelas do mesmo banco Mysql

Lico
   - 13 mar 2017

Gostaria de uma ajuda, sou iniciante e tenho essa dúvida.
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:
=====================
#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:
============================
#Código <?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!!!!

Post mais votado

Marcão
|
MVP
Pontos: 1415
    14 mar 2017

Senhores,

Se as tabelas são relacionadas utilizem, preferencialmente, "join" ao invés de "where".

Lico, PHP não é a minha praia, mas#Código/<?=$linha['a.Imagem1']?> não deveria ser somente #Código/<?=$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 ! :)

Flávio Reis
   - 13 mar 2017

Porque nao fazes o seguinte:
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

Lico
   - 13 mar 2017

Boa tarde Flavio

Obrigado, fiz o que indicou, mais printa a informações do das Tb.

#Código// 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:

#Código <?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>

...

Flávio Reis
   - 13 mar 2017

verifica o SELECT fora da tua aplicação se mostra os dados de forma correta
Se quiseres podes contactar-me pelo skype : flavio.dos.reis1,

Kelvin Eger
   - 20 mar 2017

Bom dia, segue instrução de como faze-las

#Código
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