Himairo Postado Julho 12, 2007 Denunciar Share Postado Julho 12, 2007 Olá!Tenho um banco de dados dentre outras, as seguintes tabelas:Relatorio: idRelatorio....Area: idArea, nomeArea, Relatorio_idRelatorio...Autor: idRelatorio, Usuario_nomeUsuario, Relatorio_idRelatorio...Orientador: idOrientador, nomeOrientador, Relatorio_idRelatorio...O objetivo é a partir dos dados passados nos formulários, encontrar os relatórios correspondentes com os requisitos.Uma parte do código://recebo os valores$titulo = $_POST["txtTitulo"];$autor = $_POST["txtAutor"];$orientador = $_POST["txtOrientador"];$area = $_POST["txtArea"];$ano = $_POST["anoRelat"];$semestre = $_POST["semestre"];$tipoEstagio = $_POST["estagio"];//armazeno neste array se a variável não for vazia$campos = array();if (!empty($titulo)) { $campos[] = "titulo LIKE '%{$titulo}%'";}if (!empty($autor)) { $campos[] = "Usuario_nomeUsuario LIKE '%{$autor}%'";}if (!empty($orientador)) { $campos[] = "nomeOrientador LIKE '%{$orientador}'";}if (!empty($area)) { $campos[] = "nomeArea LIKE '%{$area}'";}if (!empty($ano)) { $campos[] = "ano LIKE '%{$ano}%'";}if (!empty($semestre)) { $campos[] = "semestre LIKE '%{$semestre}%'";}if (!empty($tipoEstagio)) { $campos[] = "tipoEstagio LIKE '%{$tipoEstagio}%'";}Quero fazer na mesma consulta a interligação dos valores, sendo que entre as tabelas tem o valor comum do idRelatório, mas não sei como faço.Algo como: $resultado = ("SELECT Relatorio.*, Autor.Usuario_nomeUsuario, Area.nomeArea, Orientador.nomeOrientador FROM Relatorio, Autor, area, Orientador WHERE Relatorio.idRelatorio=Autor.Relatorio_idRelatorio....");if (count($campos)){ $resultado .= ' WHERE '. join(' AND ', $campos);}Alguém pra me ajudar com esse SELECT?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CSML sistemas Postado Julho 12, 2007 Denunciar Share Postado Julho 12, 2007 ... FROM Relatorio JOIN Area ON (Relatorio.idRelatorio = Area.Relatorio_idRelatorio) JOIN Autor ON (Relatorio.idRelatorio = Autor.Relatorio_idRelatorio) JOIN Orientador ON (Relatorio.idRelatorio = Orientador.Relatorio_idRelatorio) ...Algo assim? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Himairo Postado Julho 13, 2007 Autor Denunciar Share Postado Julho 13, 2007 Sim! Acho que isto resolve o meu problema da busca.Muito obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Himairo
Olá!
Tenho um banco de dados dentre outras, as seguintes tabelas:
Relatorio: idRelatorio....
Area: idArea, nomeArea, Relatorio_idRelatorio...
Autor: idRelatorio, Usuario_nomeUsuario, Relatorio_idRelatorio...
Orientador: idOrientador, nomeOrientador, Relatorio_idRelatorio...
O objetivo é a partir dos dados passados nos formulários, encontrar os relatórios correspondentes com os requisitos.
Uma parte do código:
//recebo os valores
$titulo = $_POST["txtTitulo"];
$autor = $_POST["txtAutor"];
$orientador = $_POST["txtOrientador"];
$area = $_POST["txtArea"];
$ano = $_POST["anoRelat"];
$semestre = $_POST["semestre"];
$tipoEstagio = $_POST["estagio"];
//armazeno neste array se a variável não for vazia
$campos = array();
if (!empty($titulo)) {
$campos[] = "titulo LIKE '%{$titulo}%'";
}
if (!empty($autor)) {
$campos[] = "Usuario_nomeUsuario LIKE '%{$autor}%'";
}
if (!empty($orientador)) {
$campos[] = "nomeOrientador LIKE '%{$orientador}'";
}
if (!empty($area)) {
$campos[] = "nomeArea LIKE '%{$area}'";
}
if (!empty($ano)) {
$campos[] = "ano LIKE '%{$ano}%'";
}
if (!empty($semestre)) {
$campos[] = "semestre LIKE '%{$semestre}%'";
}
if (!empty($tipoEstagio)) {
$campos[] = "tipoEstagio LIKE '%{$tipoEstagio}%'";
}
Quero fazer na mesma consulta a interligação dos valores, sendo que entre as tabelas tem o valor comum do idRelatório, mas não sei como faço.
Algo como: $resultado = ("SELECT Relatorio.*, Autor.Usuario_nomeUsuario, Area.nomeArea, Orientador.nomeOrientador FROM Relatorio, Autor, area, Orientador WHERE Relatorio.idRelatorio=Autor.Relatorio_idRelatorio....");
if (count($campos))
{
$resultado .= ' WHERE '. join(' AND ', $campos);
}
Alguém pra me ajudar com esse SELECT??
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.