Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [ASP]Motore di ricerca avanzato

    Salve a tutti! Io proprio non arrivo. Prima di scrivere ho tentato diversi modi ma....niente!
    Vi spiego:
    Ho creato una pagina con un campo di testo per la ricerca di prodotti informatici. Solo che se l'utente scrive 2 parole "stampante inkjet" mi visualizza il prodotto, se invece l'utente scrive "inkjet stampante" non me lo visualizza. Quindi verifico la presenza di spazi nella parola e se ci sono splitto la parola:

    parole = Request.Querystring("parole")
    if instr(parole, " ") then
    split(parole, " ")
    end if

    Come faccio ad impostare un ciclo alla query???????
    VI ringrazio.

  2. #2
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    u hai bisogno di un ciclo che genera la query sql, e non una query in ciclo

    scorri l'array finchè non è vuoto
    per ogni suo elemento
    nome campo like 'valore'
    mettendo gli appositi and
    quindi a query sql "generata" la esegui e hai tutto quello che ti serve

  3. #3
    Ti ringrazio per la dritta!
    Se hai 2 minuti liberi potresti farmi un velocissimo esempio?

    Non riesco a decifrare queste 2 frasi!
    "nome campo like 'valore'
    mettendo gli appositi AND"

    Saluti!

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    parole = Request.Querystring("parole")
    if instr(parole, " ") then
    arr_parole = split(parole, " ")
    end if
    
    if isArray(arr_parole) then
    sql = "SELECT * FROM tabellla"
    cont = 0
    for each elem in arr_parole
    if cont = 0 then
    sql = sql &" campo LIKE '"& elem &"'"
    else
    sql = sql &" AND campo LIKE '"& elem &"'"
    end if
    next
    end if
    L'ho scritto di fretta, controlla.

    Roby

  5. #5
    Grazie a Roby_72! Una sistematina e il tuo codice funziona a meraviglia.
    Senti scusa ma se volessi controllare l'esistenza di una parola in 2 campi come dovrei scrivere?
    Ho provato cosi ma mi da errore di sintassi!

    if cont = 0 then
    sqlMod = sqlMod &" AND descrizione LIKE '%"& elem &"%' OR codice LIKE '%" & elem & "'%"
    else

    Ti ringrazio per l'aiuto

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.