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

    DIVIDERE una stringa di ricerca in piu parole, come fare???

    Il problema é il seguente:

    abbiamo una pagina di ricerca che riceve una stringa tipo

    asp.?ricerca=Mercedes cls bianca

    purtroppo non possiamo utilizzare il codice sottostante

    perche la nostra ricerca si sviluppa su tre colonne e piu precisamente

    marca modello colore


    codice:
    ricerca2 = Request.Form("ricerca")
    
    sost ="%'and marca like '%"
    
    ricerca = Replace(ricerca2," ", sost)
    per riuscire a fare la ricerca della stringa sulle tre colonne abbiamo bisogno di dividere

    la stringa in tre risultati tipo:

    primaparola=mercedes
    secondaparola=cls
    terzaparola=bianca

    se noi riusciamo a separare le parole che tra loro anno uno spazio allora possiamo fare

    l'interrogazione cosi:

    codice:
    "SELECT *  FROM veiculos WHERE  ( marca like '" & primaparola & "' _
    
     or marca like '" & secondaparola &'" or marca like '" & terzaparola & "' ) _
    
     and ( modello like '" & primaparola & "' _
    
     or modello like '" & secondaparola &'" or modello like '" & terzaparola & "' ) _
    
     and ( colore like '" & primaparola & "' _
    
     or colore like '" & secondaparola &'" or colore like '" & terzaparola & "' )  ORDER BY prezzo "
    Il problema é :

    Come facciamo a dividere in tre parole la stringa

    codice:
    asp.?ricerca=Mercedes cls bianca
    Grazie sin da ora a chi ci puo aiutare

    arturo juciara brasile-natal.com

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    ricerca="Mercedes cls bianca"
    arr_ricerca = split(ricerca, " ")
    Ed hai un array con tanti elementi quante sono le parole.

    Roby

  3. #3

    OK Grazie ma poi dove la mettiamo???

    Grazie ma noi siamo molto principianti, potretti dirci dove va collocata sulla nostra interrogaziaone

    arr_ricerca ???

    ci potresti fare un esempio concreto sul nostro codice???

    Grazie

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Dopo che l'ahi recuperata, e quindi dopo qui:
    codice:
    ricerca2 = Request.Form("ricerca")
    Poi nella quey dove hai:
    primaparola sostituisci con arr_ricerca(0)
    secondaparola sostituisci con arr_ricerca(1)
    terzaparola sostituisci con arr_ricerca(2)

    Roby

  5. #5

    Allora si fa cosi No??

    vediamo se abbiamo capito

    codice:
    ricerca = Request.Form("ricerca")
    
    arr_ricerca = split(ricerca, " ")
    
    
    
    primaparola=arr_ricerca(0) 
    secondaparola=arr_ricerca(1)  
    terzaparola=arr_ricerca(2)
    cosi no???

    un ultimo favore, se pero noi non sappiamo quante parole l'utente inserisce

    come facciamo? ad esempio se terzaparola non esiste cosa succede???


    GRAZIE SEI OTTIMO.

    Arturo Juciara

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E' un altro discorso.
    Devi progettare la query in funzione di quello che può richiedere l'utente.
    La tua query orginale prevedeva necessariamente tre parole.
    In pratica devi fare una query dinamica.

    Roby

  7. #7

    Grazie

    Grazie roby (MOLTO MOLTOgentile) adesso ci cerchiamo sul forum la querry dinamica,

    ci sa tanto che non sara facile miao.

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Buona ricerca. Comunque c'è.

    Roby

  9. #9

    Roby penso abbiamo trovato

    vediamo se abbiamo capito

    codice:
    ricerca = Request.Form("ricerca")
    
    arr_ricerca = split(ricerca, " ")
    
    If arr_ricerca >= 4  then
    
    primaparola=arr_ricerca(0) 
    secondaparola=arr_ricerca(1)  
    terzaparola=arr_ricerca(2)  
    quartaparola=arr_ricerca(3)
    quintaparola=arr_ricerca(4)
    
      "SELECT *  FROM veiculos WHERE  ( marca like '" & primaparola & "' _
    
     or marca like '" & secondaparola &'" or marca like '" & terzaparola & "' _
    
     or marca like '" & quartaparola &'" or marca like '" & quintaparola & "' ) _
    
     and ( modello like '" & primaparola & "' _
    
     or modello like '" & secondaparola &'" or modello like '" & terzaparola & "' 
    
      or modello like '" & quartaparola &'" or modello like '" & quintaparola & "' ) _
    
     and ( colore like '" & primaparola & "' _
    
     or colore like '" & secondaparola &'" or colore like '" & terzaparola & "' 
    
     or colore like '" & quartaparola &'" or colore like '" & quintaparola & "' )  ORDER BY prezzo "
    
     End if
    
    If arr_ricerca = 3  then
    
    primaparola=arr_ricerca(0) 
    secondaparola=arr_ricerca(1)  
    terzaparola=arr_ricerca(2)  
    quartaparola=arr_ricerca(3)
    
    
      "SELECT *  FROM veiculos WHERE  ( marca like '" & primaparola & "' _
    
     or marca like '" & secondaparola &'" or marca like '" & terzaparola & "' _
    
     or marca like '" & quartaparola &'"  ) _
    
     and ( modello like '" & primaparola & "' _
    
     or modello like '" & secondaparola &'" or modello like '" & terzaparola & "' 
    
      or modello like '" & quartaparola &'"  ) _
    
     and ( colore like '" & primaparola & "' _
    
     or colore like '" & secondaparola &'" or colore like '" & terzaparola & "' 
    
     or colore like '" & quartaparola &'"  )  ORDER BY prezzo "
    
     End if
    
    
    If arr_ricerca = 2  then
    
    primaparola=arr_ricerca(0) 
    secondaparola=arr_ricerca(1)  
    terzaparola=arr_ricerca(2)  
    
    
    
      "SELECT *  FROM veiculos WHERE  ( marca like '" & primaparola & "' _
    
     or marca like '" & secondaparola &'" or marca like '" & terzaparola & "' ) _
    
     and ( modello like '" & primaparola & "' _
    
     or modello like '" & secondaparola &'" or modello like '" & terzaparola & "'  ) _
    
     and ( colore like '" & primaparola & "' _
    
     or colore like '" & secondaparola &'" or colore like '" & terzaparola & "'  )  ORDER BY prezzo "
    
     End if
    
    
    If arr_ricerca = 1  then
    
    primaparola=arr_ricerca(0) 
    secondaparola=arr_ricerca(1)  
     
    
    
    
      "SELECT *  FROM veiculos WHERE  ( marca like '" & primaparola & "' _
    
     or marca like '" & secondaparola &'"  ) _
    
     and ( modello like '" & primaparola & "' _
    
     or modello like '" & secondaparola &'"   ) _
    
     and ( colore like '" & primaparola & "' _
    
     or colore like '" & secondaparola &'"  )  ORDER BY prezzo "
    
     End if

    ecc ecc cosi va bene roby????

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E se uno ne mette sei di parole?

    Roby

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.