Ir para conteúdo
Fórum Script Brasil
  • 0

INNER JOIN COM 4 TABELAS


phpbrasil

Pergunta

Pessoal,

Esta acontecendo algo muito estranho com o meu INNER JOIN rs

é o seguinte...

Tenho 4 tabelas relacionadas:

USUARIO

idusuario

.......

.......

TELEFONE

usuario_idusuario(FK)

.......

.......

CIDADE

idcidade

......

.....

LOGRADOURO

cidade_idcidade(FK)

usuario_idusuario(FK)

.......

......

......

Eu estou criando a pagina EDITAR.PHP para editar informações inseridas no usuario.

Então..primeiro eu criei a seguinte query:

<?php
include('conecta_mysql.php'); 
$mat= $_GET['matricula'];
//$buscar_dados = mysql_fetch_array(mysql_query("SELECT * FROM usuario WHERE idusuario = '$vid'"));
// var_dump($vid,$busca_dados);
$sql = "SELECT usuario.matricula, usuario.nome, usuario.tipo, usuario.curso, usuario.periodo, usuario.email, usuario.login, usuario.senha, telefone.residencial, telefone.celular
FROM usuario
INNER JOIN telefone ON usuario.idusuario = telefone.usuario_idusuario
WHERE usuario.matricula = '$mat'";
$query = mysql_query($sql);
if($query == false){
  die("Erro de seleção de dados");
}else{
  $linha = mysql_fetch_array($query);
  

}



?>

Funciona bonitinho....sendo que alguns campos dá erro pois as tabelas não estao relacionadas

Então....eu criei a seguinte query para buscar todos os dados:

include('conecta_mysql.php'); 
$mat= $_GET['matricula'];
//$buscar_dados = mysql_fetch_array(mysql_query("SELECT * FROM usuario WHERE idusuario = '$vid'"));
// var_dump($vid,$busca_dados);
$sql = "SELECT usuario.matricula, usuario.nome, usuario.tipo, usuario.curso, usuario.periodo, usuario.email, usuario.login, usuario.senha, telefone.residencial, telefone.celular, logradouro.endereco, logradouro.comp, logradouro.bairro, logradouro.cep, cidade.nome_cidade
FROM usuario
INNER JOIN telefone ON usuario.idusuario = telefone.usuario_idusuario
INNER JOIN logradouro ON logradouro.usuario_idusuario = usuario.idusuario
INNER JOIN cidade ON cidade.idcidade = logradouro.cidade_idcidade
WHERE usuario.matricula = '$mat'";
$query = mysql_query($sql);
if($query == false){
  die("Erro de seleção de dados");
}else{
  $linha = mysql_fetch_array($query);
  

}

Sendo que ele me retorna o formulario sem nenhum dado =/

Mas quando eu jogo essa query no banco, sem a parte WHERE usuario.matricula='$mat'"; ele retorna todas as linhas do banco.......

já fiz de tudo e não sei o que esta acontecendo....poderiam me ajudaR?

obrigada

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...