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

    non mi funziona l'if then

    codice:
    SQL = " SELECT * FROM tabella WHERE (Titolo LIKE '%"&FRASE&"%'"
    fraseS = Split(FRASE, " ")
    if Ubound(fraseS) > 0 then
    for i = 0 to Ubound(fraseS)
    if leggiparole(fraseS(i)) then SQL = SQL & " OR Titolo LIKE '%"& fraseS(i)&"%'"
    next
    end if
    SQL = SQL & ")"
    la funzione leggiparole verifica se la parola fraseS(i) è contenuta in un DB delle parole non consentite.
    se la porola E'consentita aggiunge un pezzo di SQL
    se la parola NON E' consentita non dovrebbe aggiungere nulla invece aggiunge
    codice:
    OR Titolo LIKE '%%'
    potete aiutarmi?? come mai sene frega dell' if ed aggiunge comunque la ricerca di "nulla"??

  2. #2
    leggiParole è una funzione?
    La possiamo vedere?

  3. #3
    la funzione funziona... scusate il giro di parole
    cmq eccola
    codice:
    '---Funzione leggi parolacce
    	Function LeggiParole(ParolaS)
    		Set RSlp = Server.CreateObject("ADODB.RecordSet")
    			sqlquery = "select "
    			sqlquery = sqlquery & "* "
    			sqlquery = sqlquery & "from "
    			sqlquery = sqlquery & "BadWords "
    			sqlquery = sqlquery & "where "
    			sqlquery = sqlquery & "[Parola] = " & "'" & ParolaS & "'"
    		RSlp.Open sqlquery, Cnn, 1
    		if NOT RSlp.EOF then
                            ' la parola e bad
    			LeggiParole = False
    		else
                            ' la parola va bene
    			LeggiParole = True
    		end if
    		sqlquery=""
    		RSlp.Close
    	End Function

  4. #4
    La funzione sembra ok.
    codice:
    SQL = " SELECT * FROM tabella WHERE (Titolo LIKE '%"&FRASE&"%'"
    fraseS = Split(FRASE, " ")
    if Ubound(fraseS) > 0 then
    for i = 0 to Ubound(fraseS)
     if len(fraseS(i)) > 0 then
      if leggiparole(fraseS(i)) then SQL = SQL & " OR Titolo LIKE '%"& fraseS(i)&"%'"
     end if
    next
    end if
    SQL = SQL & ")"

  5. #5
    perchè allora non mi considera l' IF??

    se la parola và saltata comunque mi aggiunge

    OR Titolo LIKE '%%'

    in effetti salta la perola prchè mette %% ma dovrebbe proprio saltare l'aggiunta non solo la parola!!!

  6. #6
    scusate l'UP ma mi preme risolvere!

  7. #7
    Ma ti mette tutte le parole in quel modo, ovvero, non te ne mette nemmeno una nella query, o solo alcune?

  8. #8
    A me funziona.
    Ho provato il tuo esempio.
    Mi sono fatto un db con una tabella dove ho messo come parole non ammesse pippo e ciao:
    codice:
    <%
    	Function LeggiParole(ParolaS)
    		Set RSlp = Server.CreateObject("ADODB.RecordSet")
    			sqlquery = "select "
    			sqlquery = sqlquery & "* "
    			sqlquery = sqlquery & "from "
    			sqlquery = sqlquery & "BadWords "
    			sqlquery = sqlquery & "where "
    			sqlquery = sqlquery & "[Parola] = " & "'" & ParolaS & "'"
    		RSlp.Open sqlquery, Cnn, 1
    		if NOT RSlp.EOF then
                            ' la parola e bad
    			LeggiParole = False
    		else
                            ' la parola va bene
    			LeggiParole = True
    		end if
    		sqlquery=""
    		RSlp.Close
    	End Function
    
    FRASE = "ciao pippo come va?"
    
    set cnn = server.createObject("ADODB.Connection")
    cnn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mapPath("\database\test.mdb")
    
    SQL = " SELECT * FROM tabella WHERE (Titolo LIKE '%"&FRASE&"%'"
    fraseS = Split(FRASE, " ")
    if Ubound(fraseS) > 0 then
    for i = 0 to Ubound(fraseS)
     if len(fraseS(i)) > 0 then
      if leggiparole(fraseS(i)) then SQL = SQL & " OR Titolo LIKE '%"& fraseS(i)&"%'"
     end if
    next
    end if
    SQL = SQL & ")"
    
    response.write sql
    
    cnn.close
    set cnn = nothing
    %>
    e questo è il risultato della sql:
    codice:
    SELECT * FROM tabella WHERE (Titolo LIKE '%ciao pippo come va?%' OR Titolo LIKE '%come%' OR Titolo LIKE '%va?%')

  9. #9
    Scusa Jacqui...usi il codice che ha postato Mems?...ho notato che quello che hai scritto all'inizio è privo di un "end if" alla riga 6. Controlla!!

    ciao

  10. #10

    Re: non mi funziona l'if then

    [QUOTE]Originariamente inviato da Jacqui
    codice:
    SQL = " SELECT * FROM tabella WHERE (Titolo LIKE '%"&FRASE&"%'"
    fraseS = Split(FRASE, " ")
    if Ubound(fraseS) > 0 then
    for i = 0 to Ubound(fraseS)
    if leggiparole(fraseS(i)) then SQL = SQL & " OR Titolo LIKE '%"& fraseS(i)&"%'"
    next
    end if
    SQL = SQL & ")"
    qui ?? ----> if leggiparole(fraseS(i)) then SQL = SQL & " OR Titolo LIKE

    non serve...

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.