Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    101

    Aiutino.. Come lo cambio il codice ?

    Ho questo codice per la ricerca in un determinato DB

    <%
    Set DB = Server.CreateObject("ADODB.Connection")
    DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Server.MapPath(".") & "\db\dati.mdb"
    sql = "SELECT TBgiorni.IdGiorno, Giorno, Mese, Anno, Testo FROM TBgiorni INNER JOIN TBtesti ON TBgiorni.IdGiorno = TBtesti.IdGiorno WHERE Testo LIKE '%"&replace(request.form("cerca"),"'","''")&"%'"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.CursorLocation = 3 ' adUseClient
    rs.Open sql, DB
    if rs.eof then
    DB.Close
    response.redirect "nonesistecerca.asp"
    else
    Session("Cerca")=request.form("cerca")
    %>



    Solo che se voglio cercare nel campo testo due parole che non siano attaccate come faccio ???


    Se ad esempio nel campo testo ho la frase "Non so come fare datemi una mano".... Se cerco singole parole oppure "non so" o "come fare" allora lo trova... ma se io lo volessi trovare dandogli due parole non unite...

    Ad esempio "Non" + "datemi".... Come lo devo cambiare quel codice ?


  2. #2
    prendi le parole (che devono arrivare separate da qualcosa... normalmente da spazi)

    le suddividi in un array con split

    poi crei una stringa WHERE che concateni tutte le parole

    <%

    TESTODACERCARE = "Non lo so"
    TESTODACERCARE = replace(TESTODACERCARE ,"'","''")

    mysqlwhere = ""
    myarr = split(TESTODACERCARE," ")
    for i=0 to ubound(myarr)-1
    mysqlwhere = mysqlwhere & " Testo LIKE '%" & myarr(i) & "%' AND"
    next

    'tolgo l'ultimo AND di troppo
    mysqlwhere = left(mysqlwhere,len(mysqlwhere)-4)

    sql = "SELECT TBgiorni.IdGiorno, Giorno, Mese, Anno, Testo FROM TBgiorni INNER JOIN TBtesti ON TBgiorni.IdGiorno = TBtesti.IdGiorno WHERE " & mysqlwhere

    %>

    l'ho fatto a occhio (senza provarlo) ma è una tecnica usuale..
    se fa qualche errore o non ti è chiaro chiedi pure
    san imente saluta

    * http://simonecingano.it *

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    101
    Ma in questo modo devo modificare anche la pagina di invio informazioni oppure posso lasciarla stare quella e limitarmi a incollare questo codice al posto di quello vecchio ?

  4. #4
    dunque...

    la pagina di invio informazioni può rimanere uguale e funziona

    devi scambiare il MIO codice al TUO (attenzione, tieni una copia del tuo originale )

    la modifica che devi fare al MIO codice è semplice
    al posto di TESTODACERCARE = "Non lo so" ci metti la variabile presa in querystring con la stringa da cercare
    san imente saluta

    * http://simonecingano.it *

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    101
    Originariamente inviato da imente
    dunque...

    la pagina di invio informazioni può rimanere uguale e funziona

    devi scambiare il MIO codice al TUO (attenzione, tieni una copia del tuo originale )

    la modifica che devi fare al MIO codice è semplice
    al posto di TESTODACERCARE = "Non lo so" ci metti la variabile presa in querystring con la stringa da cercare
    Emm non sono molto pratico, non capisco cosa significa "ci metti la variabile presa in querystring con la stringa da cercare".... Puoi spiegaerti meglio ?

  6. #6
    era in POST... (querystring e post sono le due metodologie per passare dati attraverso le pagine con le FORM)

    facciamo così

    mandami un messaggio privato con la tua pagina ASP da modificare, io te la modifico e te la rimando

    ok?
    così non ci sono problemi ed è tutto risolto in molto meno tempo
    san imente saluta

    * http://simonecingano.it *

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.