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

    [MySQL] Clausola WHERE ... LIKE particolare

    Devo fare una query di selezione con una clausola WHERE particolare.
    Devo estrarre i dati che hanno il campo "dato1" che contiene tutte le parole che l'utente ricerca.
    Con explode ho ricavato le singole parole in una lista e ora potrei usare una clausola del tipo
    codice:
    ...
    WHERE dato1 LIKE '%$parola[1]' AND dato1 LIKE '%$parola[2]'..
    C'è la possibilità di raggruppare tutte le parole in un unico confronto LIKE con dato1.
    Intendo una cosa del genere (è solo un esempio tanto per chiarire cosa intendo, so che non si può usare "IN" per questi dati)
    codice:
    ...
    WHERE dato1 IN ('$parola[1]', '$parola[2]', ...)
    Mi sapete dire se si può fare e come?
    Grazie mille

  2. #2
    me lo sono chiesto anche io e tuttavia ho aggirato il problema facendo un ciclo che aggiunge alla query tanti "LIKE parola" quante sono le parole con vari:
    query .= "AND LIKE parola"

    credo sia una soluzione valida.
    Se qualcuno conosce una sintassi migliore anche io ne sono interessato
    IMHO

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591

    Re: [MySQL] Clausola WHERE ... LIKE particolare

    Originariamente inviato da apusoft
    Devo fare una query di selezione con una clausola WHERE particolare.
    Devo estrarre i dati che hanno il campo "dato1" che contiene tutte le parole che l'utente ricerca.
    Con explode ho ricavato le singole parole in una lista e ora potrei usare una clausola del tipo
    codice:
    ...
    WHERE dato1 LIKE '%$parola[1]' AND dato1 LIKE '%$parola[2]'..
    C'è la possibilità di raggruppare tutte le parole in un unico confronto LIKE con dato1.
    Intendo una cosa del genere (è solo un esempio tanto per chiarire cosa intendo, so che non si può usare "IN" per questi dati)
    codice:
    ...
    WHERE dato1 IN ('$parola[1]', '$parola[2]', ...)
    Mi sapete dire se si può fare e come?
    Grazie mille
    sono clausole diverse, dove testi like .. and .. like .. richiedi cle il dato soddisfi tutti i like ( senza addentrarci nei metacaratteri) usando IN richiedi che venga soddisfatto almeno una uguaglianza, come facendo una OR. In base alle tue esigenze usi una sintassi o l'altra.

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.