Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    evidenziare i risultati di una ricerca

    Salve a tutti.

    Si può in php evidenziare i risultati di uan ricerca tipo se effettuo una ricerca e mi esce un elenco di questa ricerca vorrei che nell'elenco ricavato venga evidenziato, ad esempio in grassetto, tutte le parole corrispondenti alla o alle aprole della ricerca.

  2. #2
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    se lo fai da DB potresti usare:
    Codice PHP:
    $sql " SELECT risultato_ricerca FROM dove_cerco WHERE MATCH (dove_lo cerchiamo, magari_nei titoli) AGAINST ('parola_da_cercare'); 
    dopo di che gestisci il tuo risultato.
    prova cosi.
    ¿Hasta la pasta?

  3. #3
    no forse non hai capito quello che cerco

    allora in un campo ricerca provo af are una ricerca di una aprola tipo ad esempio "Bella"

    questa riceca fatta tramite database mi deve stampare a video tutte le frasi che hanno la parola bella in se ma poi tutte le aprole bella che si trova in questa fase me la deve evidenziare in grassetto.

    spero di essere stato chiaro.

  4. #4
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    studiandoci sopra poteva anche andare bene, comunque;
    Codice PHP:
    $sql " SELECT parola_che_cerchi FROM dove_cerchi WHERE parola_che_cerchi  REGEXP 'sta_cippa' "
    ¿Hasta la pasta?

  5. #5
    ecco cosa mi dà con l'istruzion sql che mi hai postato:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REGEXP 'prova'' at line 1

    questa è la query:
    Codice PHP:
    $ricerca=$_REQUEST["ricerca"];
    $QueryRis=@mysql_query("Select * From archivio Where Campo1Like '%$ricerca%' or Campo2 Like '%$riceca%' or Campo3 Like '%$ricerca%' Order by Campo1 Asc LIMIT $start,$recperpag REGEXP '$ricerca'") or die (mysql_error()); 
    ho provato facendo così:
    Codice PHP:
    $arrtesto=explode(" ",$ricerca);
    foreach(
    $arrtesto as $pretesto)
    $testo=str_replace($pretesto,"[b]".$pretesto."[/b]",$RecRis["Campo2"]." ".$RecRis["Campo3"]);
    }
    echo 
    $testo
    ma non so perchè mi mette in grassetto solo l'ultima parola tipo se effettuo una ricerca "ciao bella"
    mi mette in grassetto solo le parole bella.

  6. #6
    Supponendo che tu sappia ottenere la lista da evidenziare:

    Codice PHP:
    $parola_chiave "..." // la parola che vuoi evidenziare
    $testo_evidenziato preg_replace("/($parola_chiave)/""[b]$1[/b]"$testo_da_evidenziare); 

  7. #7
    ok corretto il mio scirpt funziona benissimo

    o dovuto solo mettere in una raviabile il sisultato del campo2 e 3

  8. #8
    si k.b funge anche come dici te con l'epressione regolare ma preferisco il mio però devo provare col tuo se mi ignora il case sensitive

  9. #9
    ok k.b ho modificato il tuo mischiandolo col mio e va alla grande riconosce anche maiuscolo da minusoclo ecco la modifica:

    Codice PHP:
    $testo=$RecRis["Campo2"]."".$RecRis["Campo3"];
    $arrtesto=explode(" ",$ricerca);
    foreach(
    $arrtesto as $pretesto){
    $testo=preg_replace("/($pretesto)/i","[b]$1[/b]",$testo);

    e va benissimo

  10. #10
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    siamo curiosi:
    la query?
    ¿Hasta la pasta?

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.