Jump to content
Fórum Script Brasil

Himairo

Membros
  • Posts

    13
  • Joined

  • Last visited

About Himairo

  • Birthday 05/07/1985

Contatos

Perfil

  • Gender
    Male
  • Location
    Itabuna - Bahia - Brasil

Himairo's Achievements

0

Reputation

  1. Consegui resolver a consulta! Valeu pelas dicas! $resultado = ("SELECT DISTINCT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON (r.Orientador_idOrientador = o.idOrientador) INNER JOIN area a ON (r.Area_idArea = a.idArea) INNER JOIN usuario u ON (r.Usuario_idUsuario = u.idUsuario) "); $Filtro = ""; if ($orientador!="") { $Filtro = $Filtro."o.idOrientador LIKE '{$orientador}%'"; } if ($area!="" ) { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." a.idArea LIKE '{$area}%'" ; } if ($titulo!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.titulo LIKE '%{$titulo}%'"; } if ($autor!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." u.nomeUsuario LIKE '%{$autor}%'"; } if ($ano!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.ano LIKE '%{$ano}%'"; } if ($semestre!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.semestre = '$semestre'"; } if ($tipoEstagio!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.tipoEstagio = '$tipoEstagio'"; } $resultado .= 'WHERE '.$Filtro.' ORDER BY idRelatorio';
  2. Oi Denis! Parace que desta vez está funcionando!! MUITO OBRIGADO!!!!! :D $resultado = ("SELECT DISTINCT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON (r.Orientador_idOrientador = o.idOrientador) INNER JOIN area a ON (r.Area_idArea = a.idArea) INNER JOIN usuario u ON (r.Usuario_idUsuario = u.idUsuario) "); $Filtro = ""; if ($orientador!="") { $Filtro = $Filtro."o.idOrientador LIKE '{$orientador}%'"; } if ($area!="" ) { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." a.idArea LIKE '{$area}%'" ; } if ($titulo!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.titulo LIKE '%{$titulo}%'"; } if ($autor!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." u.nomeUsuario LIKE '%{$autor}%'"; } if ($ano!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.ano LIKE '%{$ano}%'"; } if ($semestre!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.semestre = '$semestre'"; } if ($tipoEstagio!="") { if ($Filtro != "") { $Filtro = $Filtro. " OR "; } $Filtro = $Filtro." r.tipoEstagio = '$tipoEstagio'"; } $resultado .= 'WHERE '.$Filtro.' ORDER BY idRelatorio'; Tive que usar "%" a esquerda na cláusula LIKE em título,autor e ano pois ão estava retornando as ocorrências das palavras no registrp todo. Mais uma vez muito obrigado!! Qualquer alteração no resultado volto aqui viu?! valeu! Abraço! ;)
  3. Mas a busca pode por qualquer um dos campos passados, um OU outro. Mesmo assim substitui por AND mas não funcionou.
  4. Valeu pela dica do select. Fiz os JOIN, funcionou para impressão dos resultados onde conseguiu-se pegar os valores "nomes" de outras tabelas, mas a consulta não foi bem sucessida pois independente do valor preenchido/selecionado retorna todos os relatórios registrados. Veja o código a baixo: if( ($titulo=="") && ($autor=="") && ($ano=="") && ($semestre=="") && ($tipoEstagio=="")) { if( ($orientador!=-1) || ($area!=-1)) { $resultado = ("SELECT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON (r.Orientador_idOrientador = o.idOrientador) INNER JOIN area a ON (r.Area_idArea = a.idArea) INNER JOIN usuario u ON (r.Usuario_idUsuario = u.idUsuario) WHERE o.idOrientador LIKE '%{$orientador}%' OR a.idArea LIKE '%{$area}%' ORDER BY idRelatorio ") or die("ERRO NO COMANDO SQL"); } } else { $resultado = ("SELECT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON (r.Orientador_idOrientador = o.idOrientador) INNER JOIN area a ON (r.Area_idArea = a.idArea) INNER JOIN usuario u ON (r.Usuario_idUsuario = u.idUsuario) WHERE r.titulo LIKE '%{$titulo}%' OR u.nomeUsuario LIKE '%{$autor}%' OR o.idOrientador LIKE '%{$orientador}%' OR a.idArea LIKE '%{$area}%' OR r.ano LIKE '%{$ano}%' OR r.semestre = '$semestre' OR r.tipoEstagio = '$tipoEstagio' ORDER BY idRelatorio ") or die("ERRO NO COMANDO SQL"); } Coloquei os ifs para caso o usuário selecione apenas uma área ou um orientador. O que devo fazer??
  5. if( ($titulo=="") && ($autor=="") && ($ano=="") && ($semestre=="") && ($tipoEstagio=="")) { if( ($orientador!=-1) || ($area!=-1)) { $resultado = ("SELECT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON (r.Orientador_idOrientador = o.idOrientador) INNER JOIN area a ON (r.Area_idArea = a.idArea) INNER JOIN usuario u ON (r.Usuario_idUsuario = u.idUsuario) WHERE o.idOrientador LIKE '%{$orientador}%' OR a.idArea LIKE '%{$area}%' ORDER BY idRelatorio ") or die("ERRO NO COMANDO SQL"); } } else { $resultado = ("SELECT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON (r.Orientador_idOrientador = o.idOrientador) INNER JOIN area a ON (r.Area_idArea = a.idArea) INNER JOIN usuario u ON (r.Usuario_idUsuario = u.idUsuario) WHERE r.titulo LIKE '%{$titulo}%' OR u.nomeUsuario LIKE '%{$autor}%' OR o.idOrientador LIKE '%{$orientador}%' OR a.idArea LIKE '%{$area}%' OR r.ano LIKE '%{$ano}%' OR r.semestre = '$semestre' OR r.tipoEstagio = '$tipoEstagio' ORDER BY idRelatorio ") or die("ERRO NO COMANDO SQL"); }
  6. Reformulando.... Tenho uma consula que recebe pelo menos um desses campos: txtTitulo, txtAutor, listaOrientador(é um campo select que recebe um idOrientador como valor), listaArea(é um campo select que recebe um idArea como valor), anoRelat, semestre, estagio. Todos esses valores estão na tabela Relatorio, só que nos campos listaOrientador e listaArea, caso selecionados, recebe o id das respectivas tabelas. Quero fazer uma consulta que ignore os campos não selecionados, busca na tabela Relatorio e de acordo com os ids de Orientador e Area pegue os nomes nas suas tabelas. E fazer o contrário, caso o usuário selecione,por exemplo, só Orientador ou Area busque na tabela Relatorio um registro que contenha uma dessas ids. Espero que agora esteja claro. E aguardo ajuda.
  7. Tenho um formulário com os seguintes campos para busca de um relatório: txtTitulo, txtAutor, listaOrientador(é um campo select que recebe um idOrientador como valor), listaArea(é um campo select que recebe um idArea como valor), anoRelat, semestre, estagio Esses valores são recebidos do formulário, sendo que basta apenas um para a consulta ser feita. Tenho uma tabela Relatorio, Usuario, Orientador, Area... A tabela Relatorio possui os campos: Usuario_idUsuario, titulo, Orientador_idOrientador, Area_idArea, ano.... A dúvida é, no MySql, como fazer no SELECT para eu poder pesquisar na tabela Relatório um registro com as características passadas e fazer a ligação para saber os nomes de Orientador e Area que constam nas suas tabelas. E fazer o inverso, caso seja selecionado orientador ou area fazer a ligação com o relatório.
  8. Tenho um formulário com os seguintes campos para busca de um relatório: txtTitulo, txtAutor, listaOrientador(é um campo select que recebe um idOrientador como valor), listaArea(é um campo select que recebe um idArea como valor), anoRelat, semestre, estagio Esses valores são recebidos do formulário, sendo que basta apenas um para a consulta ser feita. Tenho uma tabela Relatorio, Usuario, Orientador, Area... A tabela Relatorio possui os campos: Usuario_idUsuario, titulo, Orientador_idOrientador, Area_idArea, ano.... A dúvida é, no MySql, como fazer no SELECT para eu poder pesquisar na tabela Relatório um registro com as características passadas e fazer a ligação para saber os nomes de Orientador e Area que constam nas suas tabelas. E fazer o inverso, caso seja selecionado orientador ou area fazer a ligação com o relatório.
  9. Estou tentando fazer funcionar o upload de arquivo através de ftp, no entanto a execução do ftp_put() não funciona , esta mensagem é exibida: Warning: ftp_put(): listen() failed: Operation not supported (95) in /home/www/... Warning: ftp_put(): Type set to I in /home/www/... Alguém poderia me ajudar???
  10. Olá! Tenho as seguintes tabelas: Relatorio: idRelatorio.... Autor: Relatorio_idRelatorio... Orientador: Relatorio_idRelatorio.... Area: Relatorio_idRelatorio.... Nos campos 'Relatorio_idRelatorio' das tabelas Autor, Orientador e Area eu quero colocar mais de um 'Relatorio_idRelatorio', tipo um array, mas não sei como faço isso. Existe alguma forma de especificar isso no MySQL, ou na hora da inserção do campo?? Queria algo tipo assim: $sql = mysql_query("UPDATE Orientador SET Relatorio_idRelatorio[] = '$id' WHERE idOrientador='$orientador'") ... Alguma solução??
  11. Olá! Tenho as seguintes tabelas: Relatorio: idRelatorio.... Autor: Relatorio_idRelatorio... Orientador: Relatorio_idRelatorio.... Area: Relatorio_idRelatorio.... Nos campos 'Relatorio_idRelatorio' das tabelas Autor, Orientador e Area eu quero colocar mais de um 'Relatorio_idRelatorio', tipo um array, mas não sei como faço isso. Existe alguma forma de especificar isso no MySQL, ou na hora da inserção do campo?? Queria algo tipo assim: $sql = mysql_query("UPDATE Orientador SET Relatorio_idRelatorio[] = '$id' WHERE idOrientador='$orientador'") ... Alguma solução??
  12. Sim! Acho que isto resolve o meu problema da busca. Muito obrigado!
  13. 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??
×
×
  • Create New...