Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 50 su 50
  1. #41
    Originariamente inviato da optime
    potrei risponderti se l'avessi scritta io
    La mia intenzione era di selezionare dalle tabelle, indicate nella tabella di configurazione, i campi delle varie tabelle, indicate nella tabella di configurazione, i risultati aventi come ricerca il "testo" indicato nel form di ricerca.
    Se poi tu mi dici che è meglio fare la ricerca diversamente, dimmelo perchè in questo momento ho delle fette di salame negli occhi e non riesco ad individuare il problema.
    Se non sono ancora impazzito è merito Vostro e di questo forum.
    Non vorrei essere nei panni della Marcuzzi, se dentro non c'è la Marcuzzi.

  2. #42
    fa' una bella cosa: fatti stampare la stringa SQL della ricerca e postala qui, che le si dà una controllatina

  3. #43
    Originariamente inviato da optime
    fa' una bella cosa: fatti stampare la stringa SQL della ricerca e postala qui, che le si dà una controllatina
    Scusate il ritardo ma rientro oggi.
    Questa è la stringa di ricerca
    SELECT * FROM eventi WHERE Conferma=1
    SELECT * FROM rubriche WHERE Conferma=1
    SELECT * FROM news WHERE Conferma=1
    SELECT * FROM prodotti WHERE Conferma=1
    SELECT * FROM servizi WHERE Conferma=1
    SELECT * FROM Articoli WHERE Conferma=1

    più altre tabelle che si possono aggiungere nella tabella di configurazione
    Se non sono ancora impazzito è merito Vostro e di questo forum.
    Non vorrei essere nei panni della Marcuzzi, se dentro non c'è la Marcuzzi.

  4. #44
    Originariamente inviato da paolo bosani
    Scusate il ritardo ma rientro oggi.
    Questa è la stringa di ricerca
    SELECT * FROM eventi WHERE Conferma=1
    SELECT * FROM rubriche WHERE Conferma=1
    SELECT * FROM news WHERE Conferma=1
    SELECT * FROM prodotti WHERE Conferma=1
    SELECT * FROM servizi WHERE Conferma=1
    SELECT * FROM Articoli WHERE Conferma=1

    più altre tabelle che si possono aggiungere nella tabella di configurazione
    e tutti gli altri campi dove sono? :master:

  5. #45
    Originariamente inviato da optime
    e tutti gli altri campi dove sono? :master:
    Mi sa che il casino è in questa RegExp

    codice:
    function create_result_table(byval testo)
    	set rsMenu = server.CreateObject("ADODB.recordset")
    	set rsResult = server.CreateObject("ADODB.recordset")
    	set rsSearch = server.CreateObject("ADODB.recordset")
    	rsResult.fields.append "title",203,65536
    	rsResult.fields.append "content",203,65536
    	rsResult.fields.append "order",19,4
    	'rsResult.fields.append "idtable",3,4
    	'rsResult.fields.append "id",3,4
    	rsResult.fields.append "link",203,65536
    	rsResult.open
    	rsMenu.activeConnection= connStr
    	rsMenu.source ="SELECT * FROM configuration WHERE use_in_search=-1"
    	RsMenu.CursorType = 3
    	RsMenu.CursorLocation = 2
    	RsMenu.LockType = 1
    	rsMenu.open
    	testo=generate_pattern(testo) 
    	do until rsMenu.eof
    			field_id=Primarykey_name(rsMenu("tabella"))
    			rsSearch.activeConnection= connStr
    			rsSearch.source="SELECT * FROM " & rsMenu("tabella") & iif(rsMenu("search_exclude")<>"", " WHERE " & rsMenu("search_exclude"),"")
    			RsSearch.CursorType = 3
    			RsSearch.CursorLocation = 2
    			RsSearch.LockType = 1
    			rsSearch.open
    			field_search testo,rsSearch,rsResult,rsMenu("search_fields"),rsMenu("idTable"),Field_id,rsMenu("search_format_title"),rsMenu("format_link")
    			rsSearch.close
    			rsMenu.movenext
    	loop
    	rsMenu.close
    	set rsMenu=nothing
    	rsResult.sort="order DESC"	
    	'set Application("search." & lcase(testo))=rsResult
    	set create_result_table=rsResult
    end function
    
    function generate_pattern(byval formatString)
    	init = InStr(1, formatString, """")
        insert=""
    	Do until init=0
        	insert="|"
    		fine = InStr(init+1, formatString, """")
    		if generate_pattern<>"" then generate_pattern=generate_pattern & "|"
    		generate_pattern = generate_pattern & "("& Replace(Trim(Mid(formatString, init + 1, fine - init -1)), " ", "\s") & ")"
            formatString = rtrim(Left(formatString, init - 1)) & " " &  ltrim(Mid(formatString, fine + 1))
    		init = InStr(1, formatString, """")
        Loop
    	formatstring=trim(formatstring)
    	if formatString<>"" then generate_pattern=generate_pattern & insert & "("& Replace(formatString, " ", ")|(") & ")"
    end function
    
    
    Sub field_search(testo,rsSearch,rsResult,fields_list,idtable,field_id,format_title,format_link)
    	Set RegEx = New RegExp
    	do until rsSearch.eof
    		for each ccampo in rsSearch.fields
    			if instr(1,fields_list,ccampo.name,1)<>0 then
    				temp_text=HTMLtoPlain(ccampo.value)		
    				RegEx.Pattern = testo
    				RegEx.IgnoreCase = True
    				RegEx.Global = True
    				if regEx.test(temp_text)=true then
    					Set matches = RegEx.Execute(temp_text)
    					RetStr = matches(0).FirstIndex
    					If RetStr < 51 Then
    						lengh = InStr(200, temp_text, " ")-1
    						If lengh <= 0 Then lengh = len(temp_text)
    						text2use = Mid(temp_text, 1, lengh)
    					Else
    						start = InStr(RetStr-50, temp_text, " ")+1
    						lengh=instr(RetStr+150,temp_text," ")-start
    						If lengh<=0 Then lengh = len(temp_text)-start+1
    						text2use ="..." & Mid(temp_text, start, lengh)
    					End If
    					if len(text2use)<> len(temp_text) then text2use=text2use &"..."
    					Lastkey=""
    					For Each Key in matches
    					    If lcase(lastkey) <> lcase(key.value) Then
       					  		lastkey=key.value
    							RegEx.Pattern = Key.Value
    							text2use = RegEx.Replace(text2use, "" & Key.Value & "")
    						End If
    					Next
    					rsResult.addnew
    					rsResult("title")=formatcontent(rsSearch,format_title)
    					rsResult("link")=formatcontent(rsSearch,format_link)
    					rsResult("content")=text2use
    					rsResult("order")=rsSearch("visited")
    					'rsResult("idtable")=idtable
    					'rsResult("id")=rsSearch(cstr(field_id))	
    					rsResult.update
    					set matches=nothing
    					exit for
    				end if
    			end if
    		next
    		rsSearch.movenext
    	loop
    	set RegEx= nothing
    end sub
    Se non sono ancora impazzito è merito Vostro e di questo forum.
    Non vorrei essere nei panni della Marcuzzi, se dentro non c'è la Marcuzzi.

  6. #46
    Originariamente inviato da paolo bosani
    Mi sa che il casino è in questa RegExp
    sta' tranquillo, io NON mi metto a guardarla...

    riepilogando, tu vuoi cercare una certa parola in un certo numero di campi di un certo numero di tabelle?

  7. #47
    Originariamente inviato da optime
    sta' tranquillo, io NON mi metto a guardarla...

    riepilogando, tu vuoi cercare una certa parola in un certo numero di campi di un certo numero di tabelle?
    Sì, poi la RegExp dovrebbe mettere in grassetto la parola cercata che viene inserita in un parte di testo estrapolato dal database aggiungendo tre puntini eventualmente prima o dopo un certo numero di caratteri esempio di un risultato cercando il testo: bollino

    NEWS: Campagna di controllo dei gas di scarico

    Non più il "bollino blu" ma una documentazione attestante la regolarità del veicolo

    Se il testo fosse stato trovato più all'interno del contenuto e fosse più lungo di 200 caratteri
    avrebbe aggiunto tre puntini prima e tre puntini dopo, ad esempio:

    NEWS: Campagna di controllo dei gas di scarico

    ...pertanto il "bollino blu" diventa una documentazione attestante la regolarità del veicolo, consentendo di circolare...
    Se non sono ancora impazzito è merito Vostro e di questo forum.
    Non vorrei essere nei panni della Marcuzzi, se dentro non c'è la Marcuzzi.

  8. #48
    se usi la "where campo like '%parola%'" ti trovi i record che ti servono, e poi ti basterebbe anche una semplice replace per mettere quella parola in grassetto....non capisco a cosa dovrebbero servire 3 sub piene di cicli while su 3 recordset riempiti anche con notevoli quantità di dati...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #49

  10. #50
    Originariamente inviato da optime
    concordo con santino
    Sì, ma come faccio a fare la ricerca su più tabelle e poi nei risultati devo creare il link per aprire i contenuti di dettaglio?
    Se non sono ancora impazzito è merito Vostro e di questo forum.
    Non vorrei essere nei panni della Marcuzzi, se dentro non c'è la Marcuzzi.

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