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

    mini ricerca con grassetto sulla parola trovata...

    ciao,

    devo fare una mini ricerca nel database e volevo far visualizzare la parola trovata in grassetto...

    ho provato mettendo nella pagina:
    Codice PHP:
    <?php cerca("news");?>
    e:
    Codice PHP:
    function evidenzia($a,$b)
    {
        
    $ok str_replace($b'[b]'.$b.'[/b]'$a);
        echo 
    $ok.'
    '
    ;
    }
    function 
    cerca($a)
    {    
        echo 
    $a.'   ->   parola
    '
    ;
        
    $query "SELECT * FROM dinamic WHERE titolo LIKE '%{$a}%' OR testo LIKE '%{$a}%'";
        
    $result mysql_query($query);
        if(
    mysql_num_rows($result) > 0)
        {
            while(
    $r mysql_fetch_array($result))
            {
                
    evidenzia($r['titolo'],$a);
                
    evidenzia($r['testo'],$a);
                
    #echo $query;
            
    }
        }
        else
        {
            echo
    'nessun risultato';
        }

    come posso fare xchè prenda anche le parole con minuscole o maiuscole indifferentemente...

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prima di impostare la query per trovare maiuscole o minuscole controlla nei settaggi di mysql se è impostato come case sensitive o case insensitive.
    se non è case sensitive nn devi fare nessuna modifica allo script (esegui una query di prova con il LIKE in phpmyadmin).
    think simple think ringo

  3. #3
    si si, per trovarle le trova...
    xò con str_replace nn sostituisce se nn è esattamente uguale con minuscole e maiuscole

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da Coach
    si si, per trovarle le trova...
    xò con str_replace nn sostituisce se nn è esattamente uguale con minuscole e maiuscole
    ma allora il problema nn era la ricerca


    guarda qst funzioni:
    www.php.net/str_ireplace
    www.php.net/strtolower
    www.php.net/preg_replace
    think simple think ringo

  5. #5

  6. #6
    str_ireplace sarrebbe l'ideale se non fosse da PHP5

  7. #7
    Codice PHP:
    function evidenzia($a,$b)
    {
        
    $ok str_replace($b'[b]'.$b.'[/b]'strtolower($a));
        echo 
    $ok.'
    '
    ;

    così mi cambia tutte le parole ma le porta tutte in minuscolo...

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    function evidenzia($a,$b){
    	$ok = preg_replace("/$a/i","$0", $b);
    	echo $ok.'
    ';
    }
    think simple think ringo

  9. #9
    non funzia...

    ho letto anche la documentazione sulla funzione, ma di espressioni regolari non ci capisco niente...

  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da Coach
    non funzia...

    ho letto anche la documentazione sulla funzione, ma di espressioni regolari non ci capisco niente...
    si che funziona, ma forse nn fa quello che serviva a te


    codice:
    function evidenzia($a,$b){
    	$ok = preg_replace("/$a/i","$0", $b);
    	echo $ok.'
    ';
    }
    $a = "test";
    $b = "questo è un test";
    evidenzia($a,$b); // questo è un test
    
    $a = "tEsT";
    $b = "questo è un test";
    evidenzia($a,$b); // questo è un test
    
    $a = "tEsT";
    $b = "questo è un TesT";
    evidenzia($a,$b); // questo è un TesT
    
    $a = "tEsT";
    $b = "questo è testato";
    evidenzia($a,$b); // questo è testato
    think simple think ringo

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