Preciso puxar dados de 03 tabelas do mesmo banco Mysql

13/03/2017

0

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:
=====================

<?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

Lico

Responder

Post mais votado

14/03/2017

Senhores,

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']?>
não deveria ser somente
/<?=$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

Marcus Soares
Responder

Mais Posts

13/03/2017

Flávio Reis

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
Responder

13/03/2017

Lico

Boa tarde Flavio

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>
             
...
Responder

13/03/2017

Flávio Reis

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,
Responder

20/03/2017

Kelvin Eger

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

    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
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar