Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461

    sistema di ricerca tramite parole...

    ciao a tutti!

    ho un input typ text dove l'utente inserisce le parole o la parola da ricercare mediante un form di ricerca.

    Il mio problema è come posso far in modo che se l'utente inserisce piu parole me le stacchi mediante il + cosi da poter effettuare una ricerca delle parole e non della frase intera...come accade con google quando scrivoarola parola parola lui la traduce in: parola+parola+parola

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    puzza di cross-posting...

    cmq la ricerca la fai con lo script che esegue la ricerca utilizzando l'operatore LIKE, come per altro ti si è già detto...
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    e ok ma il mio problema è un'altro penso sia abbastanza chiaro....devo poter spezzare la frase mettendo tra parola e parola i +
    comunque il LIKE del post precedente non centrava nulla infatti un'altra persona ha saputo rispondere in modo correto al mio problema...per carita' magari sono io che non mi faccio intendere pero non mi sembra di aver aperto post uguali

  4. #4
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Allora hai sbagliato forum...

    ciò che vuoi fare è possibile lato client (con javascript) sostituendo il carattere "spazio" con il carattere "+"... che poi a che servirà proprio non lo capisco...

    Utilizzando termini tecnici con appropriata proprietà di linguaggio aiuta a comprendere bene il problema... se ho sbagliato a darti la risposta nel post che richiami ( e che in qualche modo rinfacci...) è perchè proprio non si capisce che cosa vuoi realmente realizzare e certo non ho la palla di cristallo per poter indovinare...

    Infine visto che sei anche un pò presuntuoso, eccoti un esempio di motore di ricerca senza fronzoli o sostituzioni incomprensibili:

    codice:
    
    <%
    	QueryString = Request.QueryString( "QueryString" )
    	QueryWords  = Split( QueryString )
    	strIndent   = ""
    	
    	If QueryString = "" Then
    		Response.Redirect( "default.asp" )
    	End If
    	
    	Session.timeout = 2
    	If IsObject(Session("sitesearch_conn")) Then
    	    Set conn = Session("sitesearch_conn")
    	Else
    	    Set conn = Server.CreateObject("ADODB.Connection")
    	    conn.open "sitesearch","",""
    	    Set Session("sitesearch_conn") = conn
    	End If
    
    	sql = "SELECT * FROM [URLIndex] WHERE"
        
    
    
    	sql = sql & " ( [Description] LIKE '%" & QueryWords( 0 ) & "%'"	
    	
    	For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
    		If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
    			If uCase( QueryWords( i-1 ) ) = "OR" Then
    				sql = sql & " OR [Description] LIKE '%" & QueryWords( i ) & "%'"
    			Else
    				sql = sql & " AND [Description] LIKE '%" & QueryWords( i ) & "%'"
    			End If
    		End If
    	Next
    
    
    	sql = sql & " ) OR ( [Keywords] LIKE '%" & QueryWords( 0 ) & "%'"
    	For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
    		If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
    			If uCase( QueryWords( i-1 ) ) = "OR" Then
    				sql = sql & " OR [Keywords] LIKE '%" & QueryWords( i ) & "%'"
    			Else
    				sql = sql & " AND [Keywords] LIKE '%" & QueryWords( i ) & "%'"
    			End If
    		End If
    	Next
    
    
    
    	sql = sql & " ) OR ( [Title] LIKE '%" & QueryWords( 0 ) & "%'"
    	For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
    		If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
    			If uCase( QueryWords( i-1 ) ) = "OR" Then
    				sql = sql & " OR [Title] LIKE '%" & QueryWords( i ) & "%'"
    			Else
    				sql = sql & " AND [Title] LIKE '%" & QueryWords( i ) & "%'"
    			End If
    		End If
    	Next
    
    
    
    	sql = sql & " ) OR ( [Summary] LIKE '%" & QueryWords( 0 ) & "%'"
    	For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
    		If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
    			If uCase( QueryWords( i-1 ) ) = "OR" Then
    				sql = sql & " OR [Summary] LIKE '%" & QueryWords( i ) & "%'"
    			Else
    				sql = sql & " AND [Summary] LIKE '%" & QueryWords( i ) & "%'"
    			End If
    		End If
    	Next
    
    	sql = sql & " )"
    
    
    
        Set rs = Server.CreateObject("ADODB.Recordset")
        rs.Open sql, conn, 3, 3	
    
        Response.Write "
     QueryString:  " & QueryString
        
    
        Response.Write "
     Query Words:  "
    	For i = LBound( QueryWords ) to UBound( QueryWords )
    		Response.Write "
    " & strIndent & i & ": " & QueryWords( i )
    	Next
    
    
        Response.Write "
     SQL String :  " & sql
    	
    
        Response.Write "
     Results:  <UL>"
    	On Error Resume Next
    	rs.MoveFirst
    	Do While Not rs.eof
    		Response.Write "
    " & "" & rs.Fields("Title") & " - " 
    		Response.Write rs.Fields("Description") & "
    "
    		Response.Write "<FONT SIZE=2>URL: " & rs.Fields("URL") & "</FONT>"
    		Response.Write "<HR SIZE=1 WIDTH=200 ALIGN=LEFT>"
    		rs.MoveNext
    	Loop
    	Response.Write "[/list]"
        
    %>
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    grazie per la dritta!
    scusa ma riguardo le incomprensioni evidentemente io posso essere stressante con le domande perche ammetto di essere ancora poco esperto con l'ASP ma di certo non presuntuoso!
    Bisogna imparare ad accettare i propri limiti e i proprio difetti!

  6. #6
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Originariamente inviato da stewe19
    Bisogna imparare ad accettare i propri limiti e i proprio difetti!
    Io lo faccio e l'ho pure scritto ammettendo d'aver toppato la risposta... non devi certo ricordarmelo:
    Utilizzando termini tecnici con appropriata proprietà di linguaggio aiuta a comprendere bene il problema... se ho sbagliato a darti la risposta nel post che richiami ( e che in qualche modo rinfacci...) è perchè proprio non si capisce che cosa vuoi realmente realizzare e certo non ho la palla di cristallo per poter indovinare...
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    a me sembra che tu abbia cercato di accettare i miei di limiti e difetti e non i tuoi

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 © 2024 vBulletin Solutions, Inc. All rights reserved.