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

    Form per motore di ricerca avanzato

    Ho un motore di ricerca che funziona cosi:


    Questo il form:

    <form method="POST" action="risultati.asp">
    Inserisci una parola (o porzione di parola) da cercare:

    <input type="text" name="search" size="20"> <input type="submit" value="CERCA">
    </form>

    e questa la pagina risultati.asp:

    <%
    Dim Cerca
    Cerca = Replace(Request.Form("search"), "'", "")
    if Cerca = "" then
    Response.write "Errore. Non hai inserito nessun termine da cercare"
    Response.end
    end if

    Dim DbPath, Conn
    DbPath="../fpdb/login.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)

    Dim strSQL, Rs
    strSQL = "Select * from tblNews where Content like '%" & Cerca & "%' or SEARCH_WORDS like '%" & Cerca & "%' order by ID desc"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open strSQL, Conn, 3, 3

    if Rs.EOF then
    Response.write "Nessun risultato trovato!"
    else
    Do while NOT Rs.EOF
    Response.write "" & Rs("NOME_SITO") & "
    " & Rs("DESCRIZIONE") & "

    "
    Rs.MoveNext
    Loop
    End If

    Rs.close
    Set Rs = Nothing
    Conn.close
    Set Conn = Nothing
    %>


    tutto bene.

    Ora vorrei che il form sia un pò piu complesso...ovvero di questo tipo:

    <form method="POST" action="eventi_cerca_risultati.asp">
    Inserisci una parola (o porzione di parola) da cercare:

    <input type="text" name="search" size="20">

    cerca in Italia: <input type="checkbox" name="italia" value="ON">

    cerca in Europa<input type="checkbox" name="europa" value="ON">

    <input type="submit" value="CERCA">
    </form>


    Come modifico la pagina risulati asp? :master:

  2. #2

  3. #3
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Se cerchi in Europa, l'Italia è automaticamente inclusa o esclusa?

    Quali sono i campi di tblNews?

  4. #4
    Originariamente inviato da longline
    Se cerchi in Europa, l'Italia è automaticamente inclusa o esclusa?

    Quali sono i campi di tblNews?
    si esatto..insomma se spunto italia mi da solo i risultati dove il campo italia è pieno.

  5. #5
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    strSQL = "Select * from tblNews where Content like '%" & Cerca & "%' or SEARCH_WORDS like '%" & Cerca & "%' "

    If Request.Form("italia") = "on" Then strSql = strSql & " and CampoItalia"

    If Request.Form("europa") = "on" Then strSql = strSql & " and CampoEuropa"

    strSQL = strSQL & " order by ID desc"


    Sempre che i campi CampoItalia e CampoEuropa siano booleani... Io ti ho chiesto i campi della tabella, ma non me li hai scritti

  6. #6
    allora chiamo il campo italia ed europa 1 e 2 per comodita.

    quindi:

    il form è cosi

    <form method="POST" action="risultati.asp">
    Inserisci una parola (o porzione di parola) da cercare:
    <input type="text" name="search" size="20">
    In Italia
    <input type="checkbox" name="1" value="ON">
    In Europa
    <input type="checkbox" name="2" value="ON">
    input type="submit" value="CERCA">
    </form>


    la pagina che visualizza i risultati è cosi:

    <%
    Dim Cerca
    Cerca = Replace(Request.Form("search"), "'", "")
    if Cerca = "" then
    Response.write "Errore. Non hai inserito nessun termine da cercare"
    Response.end
    end if

    Dim DbPath, Conn
    DbPath="../fpdb/login.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)

    Dim strSQL, Rs
    strSQL = "Select * from tblNews where Content like '%" & Cerca & "%' or Content like '%" & Cerca & "%'"

    If Request.Form("1") = "on" Then strSql = strSql & " and (tblNews.tipo=1 AND tblNews.attiva=True)"

    If Request.Form("2") = "on" Then strSql = strSql & " and (tblNews.tipo=2 AND tblNews.attiva=True)"

    strSQL = strSQL & " order by ID desc"


    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open strSQL, Conn, 3, 3

    if Rs.EOF then
    Response.write "Nessun risultato trovato!"
    else
    Do while NOT Rs.EOF
    Response.write "<a href=scheda_evento.asp?id="& Rs("ID") & ">" & Rs("Heading") & "</a>& "Dal: " & Rs("Inizio") & " Al: " & Rs("Fine") & "<Inserito da: " & Rs("Postedby") &""
    Rs.MoveNext
    Loop
    End If

    Rs.close
    Set Rs = Nothing
    Conn.close
    Set Conn = Nothing
    %>

    Italia (1) ed Europa (2) sono contenuti in un campo del db di tipo numerico: quindi ci sta 1 se è Italia e 2 se è Europa.

    Dove sbaglio?

    Non mi funge...
    Ovvero se spunta 1 mi elenca anche i record dove tipo è 2 e viceversa :master:

  7. #7
    stampa la query

  8. #8
    strSQL = "Select * from tblNews where Content like '%" & Cerca & "%' or Content like '%" & Cerca & "%'"

    If Request.Form("1") = "on" Then strSql = strSql & " and (tblNews.tipo=1 AND tblNews.attiva=True)"

    If Request.Form("2") = "on" Then strSql = strSql & " and (tblNews.tipo=2 AND tblNews.attiva=True)"

    strSQL = strSQL & " order by ID desc"

  9. #9
    prima di eseguire la query scrivi:

    codice:
    response.write strSQL:response.end
    fai girare la pag e dicci cosa viene scritto
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  10. #10
    niente--non da errore ma non esce niente.

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.