Visualizzazione risultati 1 fino 7 di 7

Discussione: Campo di ricerca globale: ricercare singolarmente le parole

  1. #1
    Guest

    Predefinito Campo di ricerca globale: ricercare singolarmente le parole

    Nel mio sito ho messo un campo di ricerca globale.

    L'utente inserisce cosa sta cercando e lui fa una ricerca globale in tutto il database e ne tira fuori i risultati.

    Uso una query mysql di tipo

    SELECT COUNT(*) FROM $tabella_posts WHERE post LIKE '%$search%'

    Va tutto bene se uno scrive una parola sola tipo "pippo", ma se ne scrive due tipo "nome pippo" lui cerca nel database "nome pippo" come una unica parola (che difficilmente troverà..) sarebbe meglio che cercasse le due parole staccate... Esiste un metodo rapido con mysql stesso magari? voi come fareste?

  2. #2
    Guest

    Predefinito

    Esplodi la stringa di ricerca, divisa per spazi, e concateni la porzione di query.

    foreach($array_parole as $parola){
    $stringa.="post LIKE '%$parola%' OR ";
    }
    $stringa=substr($stringa,0,strlen($stringa)-3);

    mysql_query("SELECT * FROM tab WHERE $stringa");

    Spero di non aver dimenticato nulla.


    ciaooooo!!!!

  3. #3
    Guest

    Predefinito

    mmm...
    Grazie..

    Una cosa come mai metti:

    $stringa=substr($stringa,0,strlen($stringa)-3);

  4. #4
    Guest

    Predefinito

    Per togliere l'ultimo OR ;)


    ciaoooooo!!!!!

  5. #5
    Guest

    Predefinito

    ah ecco :)

    una cosa ancora.. E' differente usare || al posto di OR ?

  6. #6
    Guest

    Predefinito

    In SQL pare proprio di no.


    Ciaooo!!!!

  7. #7
    Guest

    Predefinito

    Beh.. non ho parole grazie ho risolto =)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •