- Home
- Categorie
- Coding e Sistemistica
- PHP
- Select where * LIKE '%testoimmesso%'
-
Select where * LIKE '%testoimmesso%'
Ciao,
Io sto creando un piccolo motore di ricerca, e vorrei fare in modo che in base a un testo immesso venga eseguita la ricerca per trovare eventuali elementi, in particolare vorrei che venga svolta su tutte le righe e colonne del db.
Solo che siccome le colonne sono parecchie è scomodo stare a scrivere where colonna1=testoimmesso or colonna2=testoimmesso or colonna3=testoimmesso ecc.In pratica vorrei qualcosa di più semplice, ad esempio:
"SELECT * FROM tabella WHERE * LIKE '%".$_POST['testoimmesso']."%'"
Solo che il SQL non mi lascia mettere il secondo asterisco per indicare che voglio che la ricerca sia eseguita per ogni colonna.
E' possibile risolvere in qualche modo?
-
Beh ma se hai una colonna ID, o documentoAttivo, o Data, non credo ti voglia ricercare anche li dentro, non ti conviene fare una sequenza di OR?
-
Grazie per la risposta. Sì ho la colonna id ma vabbé anche se cerca in questa non è che mi dà fastidio. Comunque se non c'è altra soluzione opterò per la sequenza di or.
-
Credo sia possibile in php leggere lo schema di una tabella.
Ma se fosse una vista o una query? Mmm...
-
forse il db è stato creato in modo non ottimale, da quello che hai scritto tutte le colonne contengono lo stesso tipo di dati il che è singolare come cosa
-
Anche io ti consiglio di limitare i campi solamente a quelli che hanno dentro del testo "sensato"