Visualizzazione dei risultati da 1 a 7 su 7

Discussione: motore di ricerca

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    motore di ricerca

    Salve,


    sto realizzando un motore di ricerca interno abbastanza tranquillo. Il tutto avviene tramite query da form.
    Fino ad ora ho fatto:
    ...
    $sqlinterr="SELECT nome from tabella where nome like '%$nomeimmesso%'";
    ...

    Supponiamo che nel campo nome ci sia il valore "opel Corsa 8000".
    Se scrivo nel textfield nomeimmesso, ad es., la parola "Corsa", ovviamente funziona.
    Il problema è che vorrei farlo funzionare anche se uno inserisce più parole tipo "Opel Corsa"...e che lo trovi sia che sia presente solo opel che solo corsa. Ora va solo con una parola...

    Come posso fare?

    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    Nessuno?

    Salve, non c'è nessun Senior che sa darmi un consiglio su questo caso abbastanza complicato?
    Grazie in anticipo.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    prova con
    codice:
    $wh="nome like '%".implode("%' or nome like '%",explode(" ",$nomeimmesso))."%'";
    $sqlinterr="SELECT nome from tabella where $wh";

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    grazie ma...

    Ciao, grazie mille, il tuo metodo funziona, solo che, per esempio, se il nome modello è Opel Corsa 8000, se scrivo solo opel corsa mi tira giù anche i nomi che contengono solo corsa o solo 8000 (non ti dico quanti).
    Vorrei vincolare la scelta a solo una parola o solo due parole (non almeno una delle due) ecc....
    Mi puoi aiutare?
    Grazie in anticipo.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    cioè se in nomeimmesso c'è "opel corsa 8000" vuoi che trovi esattamente quello? o tutte le opel corsa (ignorando il 3° dato)? o tutte le opel?
    per il 1° caso sostituisci gli or con and.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    allora...

    Ciao grazie mille, non ce la faccio più a provare.

    Allora quello che mi hai postato prima va bene per una ricerca per parola chiave. Se scrivo opel mi seleziona tutti i campi che contengono opel. Se scrivo opel 8000, mi seleziona tutti quelli che contengono o opel o 8000.

    Invece, vorrei anche l'exact match ossia se uno scrive opel mi seleziona tutti quelli che contengono opel oppure se scrivo opel 8000 mi seleziona solo quelli che contengono esattamente opel 8000 e non una sola delle due parole.

    Spero di essere stato chiaro e ti ringrazio davvero stabi.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    Originariamente inviato da stabi

    per il 1° caso sostituisci gli or con and.

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.