Visualizzazione dei risultati da 1 a 2 su 2

Discussione: campo search

  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    campo search

    sto cercando di programmare un piccolo motorino di ricerca per il mio blog.

    allora ho pensato di fare così:

    $paroladacercare = $_POST['parola']; /* ottengo la parola dal form di ricerca */

    /* estraggo tutti gli articoli dal db e faccio un while in cui faccio il seguente controllo */

    $cerca = strstr($records['articolo'], "$paroladacercare");

    if($cerca !== "") stampa l'articolo in questione

    fin qui tutto bene!

    Il fatto è che vorrei evidenziare la parola $paroladacercare nel testo che viene stampato. tipo con uno <span class="sottolinea"></span> che poi definisco nei css

    grazie

  2. #2
    mii

    è tropp pesante quel sistema...

    io farei così:

    $parole = explode(" ",$paroladacercare);
    $t = "";
    foreach ($parole as $p) $t.= " AND LOCATE(LCASE('$p'),campo_dove_cercare) ";

    ora farai la tua query, avendo cura di aggiungere $t, così ti restituisce i soli campi che contengono la parola o le parole che cerchi... se devi cercare in 2 campi, li aggiungerai, ovvero così:

    foreach ($parole as $p) $t.= " AND ( LOCATE(LCASE('$p'),campo_dove_cercare) OR LOC...ecc )";
    mettendo i 2 locate fra parentesi separati da un OR

    ora che hai una lista di campi contententi ciò che cerchi, farai un while ($q = mysql_fetch_row())

    e sostituisci $q['nome_campo_dove_hai_cercato'] con una funzione che metterai dove vuoi...

    questa è la funzione:
    function getHighLight($str,$testo)
    {
    //sostituisce $str con l'evidenziato cercando in $testo
    $hl = "<span style=\"color: #0000BB; background-color: #75FF1F\">".strtoupper($str)."</span>";
    return str_ireplace($str,$hl,$testo);
    }
    chiami questa funzione per visualizzarti il risultato della ricerca..
    spero di averti aiutato
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

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.