Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Colorare le stringhe di una RICERCA, come FARE?

    'raccolgo la stringa della ricerca

    Buscalivre = Request.QueryString("Buscalivreveiculos")

    'elimino eventuali spazi all'inizio e alla fine della stringa
    buscalivre=trim(Buscalivre)

    'tolgo ghi accenti i punti e le virgole
    Buscalivre = Replace (Buscalivre,"'","")
    Buscalivre = Replace (Buscalivre,".","")
    Buscalivre = Replace (Buscalivre,",","")

    'creo l'arry delle parole della stringa
    arr_ricerca = split(buscalivre, " ")
    tutte="-"

    'eseguo la ricerca

    <%
    'APERTURA CONNESSIONE CON IL DATABASE
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "pippo"


    If Ubound(arr_ricerca) = 0 then

    strSQL = "SELECT * FROM veiculos where scaduto = false and ( marca like '%" & buscalivre & "%' or modello like '%" & buscalivre & "%' or colore like '%" & buscalivre & "%' or potenza like '%" & buscalivre & "%' or anno like '%" & buscalivre & "%' or nomeutente like '%" & buscalivre & "%' or prezzo like '%" & buscalivre & "%' ) order by marca, prezzo "

    end if

    If Ubound(arr_ricerca) = 1 then
    dim prima, seconda
    prima=arr_ricerca(0)
    seconda=arr_ricerca(1)

    strSQL = "SELECT * FROM veiculos where scaduto = false and ( marca like '%" & prima & "' or marca like '%" & seconda & "' or colore like '%" & prima & "' or colore like '%" & seconda & "' or modello like '%" & prima & "' or modello like '%" & seconda & "' or anno like '%" & prima & "' or anno like '%" & seconda & "' or prezzo like '%" & prima & "' or prezzo like '%" & seconda & "' ) order by marca, prezzo "

    end if


    If Ubound(arr_ricerca) >= 2 then
    dim terza, quarta, quinta
    terza=arr_ricerca(0)
    quarta=arr_ricerca(1)
    quinta=arr_ricerca(2)

    strSQL = "SELECT * FROM veiculos where scaduto = false and ( marca like '%" & terza & "' or marca like '%" & quarta & "' or marca like '%" & quinta & "' or colore like '%" & terza & "' or colore like '%" & quarta & "' or colore like '%" & quinta & "' or modello like '%" & terza & "' or modello like '%" & quarta & "' or modello like '%" & quinta & "' or anno like '%" & terza & "' or anno like '%" & quarta & "' or anno like '%" & quinta & "' or prezzo like '%" & terza & "' or prezzo like '%" & quarta & "' or prezzo like '%" & quinta & "' ) order by marca, prezzo "

    end if




    'estrapolo i dati dal batabase


    <td><%=(RIGHT(estrapola("marca"),LEN(estrapola("ma rca"))-1))%> - <% = estrapola("modello") %></a></td>
    <td><%=formatta(estrapola("prezzo"),0)%></td>
    <td><%=(RIGHT(estrapola("anno"),LEN(estrapola("ann o"))-1))%></td>
    <td><%=(RIGHT(estrapola("colore"),LEN(estrapola("c olore"))-1))%> </td>

    quello che volevo chiedervi é questo:

    come faccio ad esempio a colorare di rosso
    solamente la parte delle parole digitate nella ricerca??

    esempio se nella ricerca é digitato "ME" nella parola MERCEDES io vorrei colorale il ME iniziale di rosso,

    Come si fa????

    GRAZIE RAGAZZI SIETE STUPENDI.

    arturo juciara

    www.brasile-natal.com

  2. #2
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    ho fatto un esempio semplificato
    codice:
    <%
    function ReplaceRegExp(Testo, ModelloRegExp, ReplaceTesto)        
         If Testo <> ""  then
           Dim ObjRegex
           Set ObjRegex      	= New Regexp
           ObjRegex.Pattern      	= ModelloRegExp
           ObjRegex.Global      	= True
           ObjRegex.Ignorecase     	= True
           ObjRegex.Multiline      	= True
           ReplaceRegExp     	= ObjRegex.Replace(Testo, ReplaceTesto)
         End if  
         Set ObjRegEx               = nothing 
    End function
    
    Buscalivre = "me nero"
    arrSearch = Split(Buscalivre," ")
    esempio= "mercedeses nero con altre parole in mezzo che si ripetono come per esempio la parola nero"
    
    Response.Write(ReplaceRegExp(esempio,"(.?)" & "(" & Join(arrSearch,"|") & ")(.?)","$1<span style=""color:red"">$2</span>$3"))
    %>
    output
    mercedeses nero con altre parole in mezzo che si ripetono come per esempio la parola nero
    praticamente esempio č la stringa che contiene il testo da colorare, il pattern usa regexp per mettere tra or | le parole della ricerca e il testo viene colorato di rosso

    Occhio non ho contemplato un controllo su arrSearch

    un esempio su come riadattarlo al tuo caso
    codice:
    patternSearch = "(.?)" & "(" & Join(arrSearch,"|") & ")(.?)"
    patternReplace = "$1<span style=""color:red"">$2</span>$3"
    ....
    ....
    ....
    ....
    <td><%=ReplaceRegExp(estrapola("modello"),patternSearch,patternReplace )%></td>
    che ne pensi?

  3. #3
    Penso che tu sei un fenomeno e che io arrivati a certi livelli PURTROPPO non riesco piú a seguirti .

    Complimenti per la tua competenza ma penso che mi accontenterķ dell'estrapolazione tutta nera. VVoVe:

    Comunque grazie di cuore.

    Come sempre sei molto gentile e disponibile .

    ---------------------------------------------------

    Sfrutto l'occasione per chiederti un consiglio, visto che io mi sono fatto un mazzo tanto per creare quel povero che ho creato e visto che win2003 é tanto diverso che io dovrei riscrivere tutte le pagine quasi da capo,(Paginazione, connessione al database, inserimento dati in DB) e visto che giá mi dovro fare un mazzo notevole per passare da access a mysql PENSI che se rimango su win2000 perderķ in prestazioni??????

    p.s. SEI PROPRIO UN FENOMENO




    arturo juciara

    www.brasile-natal.com

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    innanzitutto niente fenomeno, qui sul forum c'č gente che con le regular expression mi schiaccia le noci in capo.
    Per quanto riguarda, a parte la storia del limit su mysql non ci sono altri problemi e se la versione č superiore alla 3.23 (cosa che io credo) non devi nemmeno ritoccare le Join.
    Sul fatto di win2003 il problema č il metodo di invio email (CDOSYS al posto di CDONTS, guardati questo tutorial: http://forum.imente.org/for_post_list.asp?topic=478 e nale che vada questa mia classe: http://forum.imente.org/for_post_list.asp?topic=3048) e devi cambiare i percorsi parent (guarda il 3d in rilievo qui sul forum)... tutto sommato sono stronzatine.
    Al di la' di 2003 o 2000 il primo cambiamento č Mysql poi se rimani anche su 2000 poco male


    p.s e poi sara' per il fuso orario ma quando mi connetto la notte ci sei solo tu qui sul forum

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.