Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583

    problema costruzione query database

    Ciao A tutti,

    ho fatto una ricerca, ma non ho trovato nulla, anche se mi sembra strano. Il problema è semplice.

    Ricerca su un database tramite form di tre campi radiobutton, nessuno dei tre campi è obbligatorio.(hanno una voce "indifferente")

    la query

    SQL="SELECT * FROM dati"
    if Request.Form("mar") <> "indifferente" then SQL = SQL & " where marca like '" & Request.Form("mar") & "'"
    if Request.Form("col") <> "indifferente" then SQL = SQL & " and colori like '" & Request.Form("col") & "'"
    if Request.Form("ann") <> "indifferente" then SQL = SQL & " and anni like '" & Request.Form("ann") & "'"


    Se tutti e tre i radiobutton sono "indifferenti" funziona (mi visualizza tutto il database), con altre combinazioni mi da errori di sintassi che non riesco a risolvere.

    Aiuto e grazie

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Certo, perchè supponiamo che il tasto "mar" sia = indifferente, ma il tasto col sia <>"indifferente".

    In questo caso la query diventa:

    SQL="SELECT * FROM dati and colori like '" & Request.Form("col") & "'"

    manca la where che è solo sul primo....

    Fai così:

    codice:
    SQL="SELECT * FROM dati" 
    sand=""
    swhere=" where "
    if Request.Form("mar") <> "indifferente" then 
      SQL = SQL & " where marca like '" & Request.Form("mar") & "'" 
      sand=" and "
      swhere =""
    end if
    if Request.Form("col") <> "indifferente" then 
      SQL = SQL & swhere & sand & "  colori like '" & Request.Form("col") & "'" 
      sand=" and "
      swhere=""
    end if
    if Request.Form("ann") <> "indifferente" then 
      SQL = SQL & swhere & sand " anni like '" & Request.Form("ann") & "'" 
      sand=" and "
      swhere=""  
    end if
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Che dire....perfetto.

    Grazie mille.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.