1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

mySQL 5 pesquisa por campos preenchidos. QUERY. - RESOLVIDO

Discussão em 'Web Development' iniciada por kleinetaube, 9 de Outubro de 2008. (Respostas: 6; Visualizações: 1007)

  1. kleinetaube

    kleinetaube Power Member

    Olá...

    eu tenho uma tabela com varias colunas e queria criar campos de pesquisa para essa tabela..
    onde de-se para fazer combinaçoes do tipo, se for preenchido o campo da zone aparece a tabela com informação dessa zona, se for zona e outra apareceria a informação comum ás duas... e por aí fora.. se é que me consigo explicar...
    em mysql 5 estava a fazer algo do genero:

    Código:
    select  * from balanca_info
    where
    if(
    zone = '[Param.1]'
    or
    line = '[Param.2]'
    and
    area = '[Param.3]'
    and
    scrap_type = '[Param.4]'
    and
    peso >= '[Param.5]'
    
    este codigo seria apenas casa algum campo fosse preenchido aparecia a informação desse campo...

    mas nao funciona.. alguem me pode dar ideias ou ajudar ou mostrar como devo fazer??

    Cumprimentos!!!


    kleine
     
    Última edição: 11 de Novembro de 2008
  2. kleinetaube

    kleinetaube Power Member

    Basicamente queria que, caso fossem preenchidos um ou mais campos/valores como zona, linha, area, peso, etc., o sql usaria esses valores para fornecer a informação.

    no codigo anterior aparece '[Param.x]' em vez de um valor, porque o valor virá de uma browser...

    dará para fazer condições no sql.. do genero se o valor/param for diferente de null entao esse valor é usado para a pesquisa se não é ignorado...

    alguem?
     
    Última edição: 9 de Outubro de 2008
  3. RicardoMoreira

    RicardoMoreira Power Member

    Porque não fazes isso no código da aplicação em vez de tentares fazer directamente na query?
     
  4. kleinetaube

    kleinetaube Power Member

    em mysql ou javascript.... como é que eu faço isso...??? porque nao sei mesmo.. já andei a pesquisar e nao consegui encontrar.
     
  5. RicardoMoreira

    RicardoMoreira Power Member

    Que linguagem server side estás a usar? php, asp, asp.net?
     
  6. kleinetaube

    kleinetaube Power Member

    nenhum desses...

    estou a usar o xmii... é uma especie de programa da SAP onde uso applets para ligar a base de dados ao javascript. tipo...


    <APPLET NAME="insertEventValues" ID="insertEventValues" CODE="iCommand" CODEBASE="/Illuminator/Classes" ARCHIVE="illum8.zip" WIDTH="1" HEIGHT= "1" MAYSCRIPT >
    <PARAM NAME="QueryTemplate" VALUE="Balanca/Query/insertInitialValues">
    <PARAM NAME="InitialUpdate" VALUE="false">
    </APPLET>
    ...
     
  7. kleinetaube

    kleinetaube Power Member

    eu com este query

    Código:
    select  * from balanca_info
    where 
    (zone = '[Param.1]' or line = '[Param.2]' or area = '[Param.3]' or scrap_type = '[Param.4]' or peso >= '[Param.5]') 
    recebo ,(fazendo de conta que zona = ali e line =12), todas as linhas(row) onde zona = ali MAIS todas as linhas(row) onde line =12...

    o que preciso é receber apenas as linhas onde a informação é comum aos dois...
    até aqui parece facil porque em vez do "or" teria de usar o "and". Mas o utilizador é que vais escolher os campos que quer pesquisar, e tem 7 campos para pesquisar, podendo pesquisar por um dois tres quatro... até sete campos com inumeras combinaçoes do genero, zona, zona e line, zona line e area, zona e area, zona e peso,peso e linha ,peso e area... e por aí fora...

    alguma ideia ????
     

Partilhar esta Página