scusa, non ho capito. quale è l'errore?
scusa, non ho capito. quale è l'errore?
dà errore di sintassi nel punto dove metto questo segno: (###)
keyword_splittata = split(key, ",")
strSQL = "SELECT * FROM notizie WHERE INSTR(1,testo,"
strSQL = strSQL + (###)
for i = 0 to ubound(keyword_splittata)
"keyword_splittata(i)"
next
strSQL = strSQL + ",0)>0 ORDER BY id desc"
beh, quello non è ASP... pensavo fosse un esempio, non il vero codice. scrivilo come va scritto
Se sapessi come va scritto...
Allora mi spiego meglio.
Ho una lista di parole chiave fisse che ho messo iin db in un unico campo separate da una virgola, tipo "Italia,Francia,Spagna...".
Lanciando una ricerca automatica, vorrei ottenere i risultati dati da quella ricerca con quelle parole chiave. Ovviamente devo splittare la stringa. Inoltre, per case sensitive, vorrei utilizzare la soluzione che mi avete dato quella con INSTR che funziona bene.
Poiché le parole da cercare sono tante, avevo pensato ad un array che va a ripetere quell''istruzione.
Tutto ciò dovrebbe stare all'interno della stringa
Ho pensato ad un vettore che rilevi a una a una tutte le parole chiave e le vada ad inserire in mezzo alla stringa sql.
Ecco perché ho provasto a scrivere quel codice. Ma non va.
Come posso fare?
![]()
scusa, ma hai problemi nello scrivere un ciclo for...next? quello che c'era prima chi l'ha scritto? tanto per conoscere il tuo skill, non per altro
Skill=![]()
Il ciclo for...next l'ho scritto io perché in un'altra routine che si occupa di far evidenziare nel testo in rosso le parole frutto della ricerca.
Key è la stringa contenente la serie di parole chiave.
Lì avevo messo:
keyword_splittata = split(key, ",")
for i = 0 to ubound(keyword_splittata)
titolo=Replace(testo,keyword_splittata(i),<font color=red>'"&keyword_splittata(i)&"'</font>")
next
E funziona perfettamente!
Quindi ho pensato di utilizare lo stesso for next, ma non mi viene la soluzione finale.
Però in questo caso avevo fatto un buon lavoro.![]()
Speravo nell'aiutino... ma nessuno risponde più
![]()
in cosa consisterebbe l'aiutino, scusa?
L'aiutino consiste nel fatto che non so come risolvere questa questione che magari per te è banale ma per me no.
dalla stringa che mi hai dato e che funziona vorrei sostituire strRicerca che definisce una parola chiave con una serie di parole chiave inserite in una lista. Insomma, vorrei che il risultato della ricerca fosse dato da diverse parole chiave preimpostate.
Poiché credo che non posso fare un for...next ripetendo strSQL, non so come fare.
strSQL = "SELECT * FROM notizie WHERE INSTR(testo, '" & strRicerca & "')>0 "
Mi auguro di essermi spiegato bene. :master:
ok. la strada per riolvere il problema l'hai già intrapresa.
si tratta di aggiungere alla stringa
strSQL = "SELECT * FROM notizie WHERE "
tante
" INSTR(testo, '" & strRicerca & "')>0 "
quante sono le parole nella lista
si fa con un ciclo for...next
inizia a scriverlo rispettando la sintassi asp, se poi qualcosa non funge vediamo