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

    [MySql] Motore di ricerca

    Buon giorno a tutti.
    Ho un input dove l'utente digita una o più parole e gli restituisce dei risultati.
    Questa è query:
    codice:
    SELECT * FROM TB_ARGOMENTI where 
    internet=1
    AND
    (testo LIKE '%".trim(utf8_decode($s))."%' OR titolo LIKE '%".trim(utf8_decode($s))."%')
    Però mi sono accorto che:
    1) se digito più parole con sequenza esatta, per esempio(oggi è giovedì) ho un risultato
    2) se digito (oggi giovedì) non mi restituisce nulla

    Come risolvo?
    Grazie mille.

  2. #2
    non la risolvi con sql da solo. devi costruire la query scomponendo la frase in singole parole e ricomponendo la query mettendo le singole parole in AND (con LIKE)

  3. #3
    Ho risolto.
    In pratica faccio una "str_replace" della variabile $s, se l'utente digita due o più parole, sostituisco lo spazio con il carattere jolly (%), tra una parola e l'altra.
    In pratica:
    codice:
    SELECT * FROM TB_ARGOMENTI WHERE internet=1 AND 
    (testo LIKE '%".trim(str_replace(" ","%",utf8_decode($s)))."%' OR titolo LIKE '%".trim(str_replace(" ","%",utf8_decode($s)))."%')
    Grazie comunque.

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.