Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    instruzione AND con SQL


    Salve ragazzi!
    Vorrei porre un quesito... utilizzando l'istruzione SELECT con mySql non riesco a gestire l'istruzione AND.
    Mi spiego! Da un form di ricerca l'utente può inserire diversi campi (es. Nome, Cognome, ...) se utilizzo l'istruzione OR vedo tutto in modo corretto, se metto l'istruzione AND, la pagina interpreta le voci non messe come valore e la ricerca è vuota.
    Come faccio a dirgli che i campi non utilizzati dall'utente per la ricerca non sono valori da inserire nell'istrizione?
    Grazie a tutti anticipatamente per l'aiuto!
    Pochi sanno, molti presumono di sapere.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi fare una query dinamica in modo da costruirla SOLO con i campi effettivamente compilati e che quindi utilizzerai.

    Roby

  3. #3
    io di solito faccio cosi'

    codice:
    SQL = "SELECT * FROM TABELLA WHERE 1=1 "
    IF Len(CampoRicerca1)>0 Then
       SQL = SQL & "AND CAMPO1='" & CampoRicerca1 & "'"
    END IF
    IF Len(CampoRicerca2)>0 Then
       SQL = SQL & "AND CAMPO2='" & CampoRicerca2 & "'"
    END IF
    e cosi' via

  4. #4
    Ragazzi scusate il ritardo alla mia risposta, ma ho avuto un "imprevisto"
    Comunque la cosa è abbastanza statica, cioè se l'utente riempie il campo , allora ok, altrimenti dovrebbe escludere i campi non riempiti dalla ricerca.
    La procedura if len(...... >0 then .... la vedo un pò lunga anche perchè i campi sono 7, ma se questa è l'unica soluzione beh...ok!!
    Pochi sanno, molti presumono di sapere.

  5. #5
    7 campi una cosa lunga....?

  6. #6
    Beh... se esiste un metodo più leggero e snello ben venga! Comunque se non ci sono altri suggerimenti proverò come mi hai indicato... resto in attesa di ulteriori dritte. Grazie.
    Pochi sanno, molti presumono di sapere.

  7. #7
    Credo che la cosa sia improbabile dato che dovrei dare tutte le condizioni combinabili su 7 campi. In altre parole dovrei andare a dire se il primo + il secondo campo sono vuoto allora esegui .... se il primo + il terzo sono vuoti allora esegui .....

    credo faccia circa 49 combinazioni.
    Possibile non esiste un metodo più immediato in modo da escludere dalla ricerca il o i campi vuoti?
    Pochi sanno, molti presumono di sapere.

  8. #8
    stai dicendo una cosa sbagliata. se fai come ti ho detto funziona.

  9. #9
    Si! ma se metti a condizione un campo e tutte le sue possibilità di interazione con gli altri campi arrivia 7 x 7 cioè 49 combinazioni... o sbaglio!
    Pochi sanno, molti presumono di sapere.

  10. #10
    lo fa il codice. provalo.

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.