Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 59
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507

    dare un "peso" alle parole chiave

    ciao ragazzi, qualcuno sa dirmi se , nel caso di una ricerca con più parole chiave, io posso dare un peso maggiore ad una keyword piuttosto che ad un'altra?!

    La risposta sarebbe urgente...spero qualcuno sia in grado di darmela!

  2. #2
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    cosa intendi con peso maggiore ?

    le varie parole chiave come sono , In OR ?
    Forza la magica ROMA

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    ciao albis, non so se ti ricordi l'altro 3d che avevo aperto qualche giorno fa sulla ricerca per parole chiave in un database...comunque ti rispiego tutto...

    da flash io invio 6 variabili alla pagina asp(prop1, prop2, prop3...prop6); questa deve effettuare una ricerca nel database secondo queste parole chiave e deve restiturmi come valori i campi che contengono i nomi dei filmati, che hanno nei campi prop1, prop2, prop3...prop6, valori che corrispondono alle variabili inviate...
    il databse ha un campo titolo e sei campi prop1, prop2, prop3...prop6.
    ovviamente non tutti campi saranno uguali ai valori delle variabili: alcuni record avranno due campi uguali, altri tre, altri nessuno....
    io voglio che mi restituisca i valori di titolo che hanno un maggior numero di campi uguai alle variabili...
    il fatto è che alcuni possono avere anche lo stesso numero di corrispondenze, quindi vorrei dare una priorità maggiore ad alcune variabili e meno ad altre, magari assegnandoli un nuomero da 1 a 6...

    è un po' un casino ,ma spero di essere stata abbastanza chiara...

  4. #4
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    che db usi ?
    posta anche la select
    Forza la magica ROMA

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    uso un database access

    il codice asp lo trovi a questo 3D di cui ti parlavo e su cui mi avevi già aiutato
    http://forum.html.it/forum/showthrea...5&pagenumber=3

    ti devo dire però che qualcosa non funziona in quel codice perchè quando effettua il secondo ciclo mi dà errore e io non riesco a capire il motivo...

  6. #6
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    non mi puoi postare tu la select che fai su access
    tipop "select... from tabella where ...) ?
    Forza la magica ROMA

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    ti posto tutto il codice che così forse ti è più chiaro...
    se poi riesci anche a trovare dove sono gli errori...

    codice:
    <%
    prop1=request("prop1")
    prop2=request("prop2")
    prop3=request("prop3")
    prop4=request("prop4")
    prop5=request("prop5")
    prop6=request("prop6")
    
    
    Set Conn = Server.CreateObject("ADODB.Connection")
    Connessione="DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("data.mdb")
    Conn.Open Connessione
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    
    sql = "SELECT cinlink FROM filmati WHERE"
    
    ArrSearch = Split(prop1)
    x=0
    for each Word in ArrSearch
    	sql= sql & " (prop1 like '%" & word & "%' & prop2 like '%" & word & "%' &prop3 like '%" & word & "%' &prop4 like '%" & word & "%' &prop5 like '%" & word & "%' &prop6 like '%" & word & "%')"
    	If Not x = UBound (ArrSearch) Then
    		sql=sql & " or"
    	End if
    
    
    rs.Open SQL, Connessione, 3, 3
    
    
     Do While Not (rs.EOF)
     	prop1=rs("prop1")
    	prop2=rs("prop2")
    	prop3=rs("prop3")
    	prop4=rs("prop4")
            prop5=rs("prop5")
    	prop6=rs("prop6")
    x=0
    conteggio=0
    
    ArrSearch = Split(prop1)
    for each Word in ArrSearch
    	prova=prop1
    	tet="0"
    		for y=1 to len (prova)
    		tet =instr (prova, word)
    		if tet<>0 then
    		conteggio=conteggio+1
    		prova=mid(prova,tet+1)
    		end if
    	next
    x=x+1
    next
    
    rs.movenext
    loop
    
    Response.flush
    Response.end
    
    rs.Close
    Set rs=Nothing
    %>

  8. #8
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    non ho capito tu cerchi la stessa parola sù più campi ?
    Forza la magica ROMA

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    507
    no, io cerco la parola prop1 nel campo prop1, la parola prop2 nel campo prop2 e così via...

  10. #10
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    dovrebbe essere all'incirca così

    codice:
    sql = "SELECT cinlink FROM filmati WHERE"
    
    dim strPrimoOrd
    dim strSecondoOrd
    
    for x = 1 to 6 
    	sql= sql & " prop" & x & " like '%" & request("prop" & i) & "%' "
    	strPrimoOrd = strPrimoOrd & "  abs(prop" & x & " like '%" & request("prop" & i) & "%') "
    	strSecondoOrd = strSecondoOrd & "  prop" & x & " like '%" & request("prop" & i) & "%' "
    	If  x < 6 hen
    		strPrimoOrd = strPrimoOrd & " + "
    		strSecondoOrd = strSecondoOrd & " , "
    		sql=sql & " or "
    	End if
    
    next
    
    sql = sql & " order by " & strPrimoOrd & " desc ,  " & strSecondoOrd
    	
    
    rs.Open sql, Connessione, 3, 3
    Forza la magica ROMA

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.