Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Motore di ricerca

  1. #1

    Motore di ricerca

    Ciao, nell'augurare al forum buon anno nuovo, presento questo problema.

    Sto sviluppando un semplice motore di ricerca per il mio sito, tramite questa semplice query:

    Codice PHP:
    $query "SELECT * FROM $tbl_name WHERE title LIKE '%$term%'"
    Il motore va a cercare nell'unica colonna "title"

    Il problema è che se io cerco ad esempio le parole "giallo verde" mi da come risultato solo le righe contententi le due parole in questa sequenza, escludendomi le righe che contengono ad esempio "giallo rosso verde" oppure solo "giallo" o solo "verde"
    Io invece vorrei che mi trovasse tutte le righe che contengono o solo uno dei due termini o tutti e due i termini vicini o non.

    Grazie

    Ciao!

  2. #2
    Utente di HTML.it L'avatar di Angarat
    Registrato dal
    Nov 2003
    Messaggi
    157
    fai una ricerca fulltext!
    Skull of a Skeleton with Burning Cigarette

    Angarat quante minchiate spari con un litro? Così mi regolo...

  3. #3
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Spezza la tua stringa (utilizzando lo spazio come delimitatore) e usa le singole parole nella ricerca. Es:
    SELECT * FROM table WHERE title LIKE '%giallo%' OR title LIKE '%verde%'

  4. #4
    Quote Originariamente inviata da Angarat Visualizza il messaggio
    fai una ricerca fulltext!
    Ho provato a convertire la tabella con il comando sql

    codice:
    ALTER TABLE video ADD FULLTEXT (title);
    Ricevuto questo errore: #1214 - The used table type doesn't support FULLTEXT indexes

  5. #5
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Spezza la tua stringa (utilizzando lo spazio come delimitatore) e usa le singole parole nella ricerca. Es:
    Le stringhe sono passate in variabile tramite GET dal form sul sito, quindi non prevedibili, possono essere 1 2 o 3 parole o una frase intera

    Grazie ad entrambi delle risposte

  6. #6
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Le stringhe sono passate in variabile tramite GET dal form sul sito, quindi non prevedibili, possono essere 1 2 o 3 parole o una frase intera
    Usa http://php.net/manual/it/function.explode.php per creare un array con le singole parole da ricercare.

  7. #7
    La ricerca fulltext sembra la strada giusta, sono riuscito ad modificare l'engine della tabella, però la query non mi restituisce i valori, forse sbaglio nella sintassi.
    Cmq grazie della dritta, adesso googlo a manetta e spero di venirne a capo

    Ciao!

    EDIT: era un errore di sintassi, funziona perfettamente!!
    Ultima modifica di alexdigitale; 31-12-2014 a 17:32

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.