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

    Motore di ricerca nel DB

    Salve a tutti, ho un piccolo problema. Probabilmente per molti sarà una ca####ta ma per me no.

    Mi spiego: io ho un form per effettuare una ricerca in una tabella del database che chiamerò "N".

    I campi del form sono A - B - C - D

    Mettiamo che il caso che il valore C sia espresso nel form da un checkbox a scelta multipla.

    Il valore C effettua la ricerca nel DB per il valore rs "H" e lo trova quando io effettuo la ricerca spuntando
    la casella esatta... ma se ne spunto 2, anche se uno di queste due è quello esatta, midice comunque che non ci sono
    risultati

    La query è così impostata.

    <%

    Set rs = Server.CreateObject("ADODB.RECORDSET")


    vWhere = ""

    if request("VALORE A NEL FORM")<>"" then
    vWhere = vWhere & "VALORE A NEL FORM='"&request("VALORE A NEL FORM")&"' AND "
    end if


    %>

    ..e così via per ogni voce per chiudere poi con..

    <%
    'response.write len(vWhere)
    'response.end

    if vWhere<>"" then
    vWhere = "where " & mid(vWhere,1,len(vWhere)-4)
    end if


    'response.write vWhere
    'response.end



    if vWhere<>"" then

    sql = "select * from TABELLA N " & vWhere
    else
    sql = "select * from TABELLA N order by tipo asc;"
    end if
    %>

    ..che mi servono per stampare a video i risultati della ricerca nel caso ce ne siano o nel caso contrario l'intero elenco della tabella "N"


    Sapreste aiutarmi? Come impostare la query per fare in modo che almeno il campo C mi dia risultato esatto anche se io spunto piu caselle?
    Utilizzare OR al posto di AND ? Come?


    Ve ne sarei molto grato.. grazie..

  2. #2
    beh se usi and lui cerca in ogni record della tabella se esiste un campo che abbia valore ... and ... quindi logicamente visto che non capita che il campo abbia contemporaneamente entrambi i valori non ti ritorna nessun risultato.
    usa or al posto di and.
    la sintassi è identica, semplicemente sotituisci and con or

    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    2
    Ora funge...

    La soluzione era questa, la scrivo, così resta utile per chiunque ne abbia bisogno:


    if request("H")<>"" then
    vWhere = vWhere & "valore C IN ("&request("VALORE C")&") AND "
    end if


    dove il valore IN, inserito al posto di =, specifica alla query l'esistenza di più voci...

    Molte grazie ZeroCool

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 © 2026 vBulletin Solutions, Inc. All rights reserved.