|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
[PHP-MySQL] Cercare sottostringhe nel DB, come fan le Pagine Gialle
Quando per esempio cercate un parrucchiere, ma non vi ricordate bene come si chiamava sto parrucchiere, ma magari vi ricordate solo che era a "Napoli" e nel nome del negozio c'era la stringa "Figarò".
Io vorrei cercare appunto "Figarò" nel campo nome dei parrucchieri di "Napoli" che stanno in una tabella del mio DB. Come se cercassi in Winzoz: *Figarò* :o C'è 1 modo semplice ed efficiente di farlo?! Io ho pensato: [1] Espressioni Regolari?! [2] Funzioni di PHP?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 156
|
select * from nometabella
where nome like '%Figaro%' |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Puoi usare l'operatore "LIKE" di MySql:
$query = "SELECT * FROM nometabella WHERE barbiere LIKE '%$parola%' OR via LIKE '%$parola%' OR ..." |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Stringhe in MySQL: trucchi e soluzioni e qui: Tutto sulle stringhe in PHP Sto PM provo la soluzione avveneristica che mi avete proposto! SELECT * FROM taballa WHERE nome LIKE '%Figarò%' AND paese='Napoli';
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 27-07-2005 alle 13:15. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
io ho realizzato una funzione di ricerca utilizzando la funzione stripos di php, non sapevo dell'esistenza dell'operatore LIKE di mysql. sicuramente usando il like si ottiene una soluzione più performante di quella che ho fatto io.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:08.



















