Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JoãoF.

Fazer um row busca em 3 tabelas?

Recommended Posts

Bem Galera sou novo aq no forum, e to começando a aprender php agora... mais vamos ao problema, e o seguinte, tenho um sistema com tres tipos diferentes de usuarios, separados por tabelas, e tem o mesmo nivel de acesso... e tenho esse codigo para fazer uma row busca...

$email_remet = $_SESSION["email"];
$email_dest = $_GET['email'];


mysql_select_db($banco, $conexao);
$query_Busca = "SELECT * FROM tb_transportadora WHERE email = '$email_remet' ";
$Busca = mysql_query($query_Busca, $conexao) or die(mysql_error());
$row_Busca = mysql_fetch_assoc($Busca);
$totalRows_Busca = mysql_num_rows($Busca);

echo $row_Busca['nome'];

no codigo esta uma das tabelas, mais quero fazer essa row busca em tb_armazem e tb_produtor tbm no msm campo email, pois preciso q o nome de quem esta logado no caso seria o email_remet seja exibido...

essa foi a solução q encontrei, pois n conheço muito de php... je tentei com union e com join e nenhum deu certo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu quero fazer uma consulta em tres tabelas onde a coluna email esta presente nas tres, e ao realizar essa consulta quero fazer uma row busca para exibir o nome do usuario do email consultado... e ja tentei usar JOIN mais n deu certo, ou n consegui...

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
session_start();
if(!isset($_SESSION["email"]) || !isset($_SESSION["senha"]))
	{
		header("Location:../login/login.php");
		exit;
	}
$email_remet = $_SESSION["email"];
$email_dest = $_GET['email'];


mysql_select_db($banco, $conexao);
$query_Busca = "(SELECT email FROM tb_transportadora WHERE email = '$email_remet')
				UNION ALL
				(SELECT email FROM tb_armazem WHERE email = '$email_remet')
				UNION ALL
				(SELECT email FROM tb_produtor WHERE email = '$email_remet') ";
$Busca = mysql_query($query_Busca, $conexao) or die(mysql_error());
$row_Busca = mysql_fetch_assoc($Busca);
$totalRows_Busca = mysql_num_rows($Busca);

echo $row_Busca['nome'];
echo "<br/>";
echo $_GET['nome']; 

?>

esse e o codigo q estou tentando mais ta dando esse erro...

4e53WbY.png

o meu objetivo e exibir o nome do usuario logado, para isso vou tenho q fazer uma busca nessas tres tabelas diferentes....

Compartilhar este post


Link para o post
Compartilhar em outros sites

na tabela q o email estiver, por exemplo se for um produtor vai estar na tabela produtor...

ai vai fazer a verificação e pegar so o produtor q tem aquele email q esta no session, e exibir o nome daquele produtor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está dando pq você está dando um select no EMAIL e ta exibindo NOME

 

Mude

echo $row_Busca['nome'];

para

echo $row_Busca['email'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua modelagem está errada.

 

Esqueça as 3 tabelas, e faça uma única. Identificando cada tipo de usuário por uma coluna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.