PHP Ricerca utente, Tabella con più elementi

Nickname

Utente Attivo
18 Set 2013
122
0
0
Salve a tutti, avrei un problema molto urgente da risolvere di cui non riesco a trovare una soluzione.

Praticamente io ho una tabella fatta più o meno così:


NomeCognomeIndirizzoCaratteristiche
GiovanniMarianivia non lo so 12Alto, Magro, Occhi blu, Capelli lunghi, Capelli castani


Ora il problema è che io ho creato delle pagine distinte, come ad esempio:
Capelli Rossi;
Capelli;



(Ora ovviamente è un esempio stupido ma è per far capire)


Ed ho fatto in modo che in queste pagine vengano visualizzati gli utenti con quelle caratteristiche.
Quindi se si clicca su Capelli rossi usciranno tutti gli utenti con i capelli rossi ecc..


Lo script che ho utilizzato è il seguente:

$result = mysql_query("SELECT * FROM utenti WHERE caratteristiche LIKE '%$ricerca%' ORDER BY nome");


Il problema è che in questo modo, anche se l'utente tra le sue caratteristiche ha messo, ad esempio solo la Caratteristica Capelli, viene visualizzato anche nella pagina Capelli Rossi perché ovviamente nella query utilizzo LIKE, quindi volevo sapere come fare in modo che questo non accada; come posso distinguere bene le varie caratteristiche ? Ovviamente senza creare altri campi nella tabella.

Grazie mille a tutti, è molto urgente!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, vedo che le caratteristiche sono separate dalla virgola; mettila nel like
PHP:
LIKE '%$ricerca,%'
 

Nickname

Utente Attivo
18 Set 2013
122
0
0
Ciao, vedo che le caratteristiche sono separate dalla virgola; mettila nel like
PHP:
LIKE '%$ricerca,%'

Grazie criric ! Risolto.
Alla fine ti farò un monumento :D

(PS: ma funziona lo stesso anche se le caratteristiche sono separate da virgola e spazio ?)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Nel LIKE puoi gestire anche gli spazi
PHP:
LIKE '%$ricerca ,%'
Potrebbe non funzionare invece se l'ultima caratteristica memorizzata non è seguita dalla virgola
 

Nickname

Utente Attivo
18 Set 2013
122
0
0
Nel LIKE puoi gestire anche gli spazi
PHP:
LIKE '%$ricerca ,%'
Potrebbe non funzionare invece se l'ultima caratteristica memorizzata non è seguita dalla virgola

Infatti adesso c'è un altro problema come dicevi tu, ovvero che se uno ha inserito una sola caratteristica non c'è la virgola, quindi il sistema non lo trova se ad esempio ha messo solamente Capelli.
Non c'è per fare in modo che, se la prima ricerca non va a buon fine, inizi la seconda ?

Quindi prima:

PHP:
LIKE '%$ricerca,%'

e se non trova nulla:

PHP:
LIKE '%$ricerca%'

Oppure c'è qualche altra soluzione
 

Nickname

Utente Attivo
18 Set 2013
122
0
0
quando fai l'insert delle caratteristiche aggiungi sempre la virgola finale

Mh capisco, quindi non ci sarebbero altre soluzioni ?

(Come faccio se voglio aggiungere una virgola alla fine delle Caratteristiche di tutti gli utenti nella tabella senza modificarne uno per volta?)
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
sicuramente esiste qualche altra soluzione ma ora non mi viene in mente
per modificate i campi della tabella puoi usare la funzione CONCAT
non ricordo bene la sintassi, dovrebbe essere cosi
Codice:
UPDATE tabella SET campo = CONCAT(campo,',')
fai qualche prova
 

Nickname

Utente Attivo
18 Set 2013
122
0
0
sicuramente esiste qualche altra soluzione ma ora non mi viene in mente
per modificate i campi della tabella puoi usare la funzione CONCAT
non ricordo bene la sintassi, dovrebbe essere cosi
Codice:
UPDATE tabella SET campo = CONCAT(campo,',')
fai qualche prova

Si si la sintassi è giusta.
Fammi sapere se magari ti viene in mente qualcos'altro ;)
 
Discussioni simili
Autore Titolo Forum Risposte Data
U PHP creare un file excel dopo ricerca nel DB PHP 0
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
O [PHP] Ricerca record tramite post PHP 7
T [PHP] Ricerca nel database PHP 2
C [PHP] Ricerca multipla, evitare if PHP 4
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
T4MAR4 [PHP] Problema ricerca con apostrofo PHP 2
R [PHP] Prendere dati da moduli di ricerca esterni PHP 4
T4MAR4 [PHP] piu select in ricerca PHP 1
T4MAR4 [PHP] Inserire piu campi di ricerca PHP 2
A [PHP] Problema paginazione motore di ricerca PHP 48
TheWhiteRabbit Perfezionare ricerca in PHP - NO DATABASE - (Website X5) PHP 5
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
U [PHP] form per ricerca multipla: Unknown column 'undefined' in 'where clause' PHP 2
giuseppe_123 [PHP] ricerca in una tabella con my sql PHP 0
L [PHP] ricerca per un campo o per più campi PHP 5
M [PHP] Ricerca con data timestamp PHP 45
B Ricerca PHP e Prenotazione PHP PHP 2
M [PHP] Evidenziare le parole cercate nei risultati di una ricerca PHP 1
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 1
Y [Retribuito][Offro] RICERCA PROGRAMMATORI iOS e PHP/DB Offerte e Richieste di Lavoro e/o Collaborazione 0
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
I Motore di ricerca php PHP 2
C [Offro][Retribuito] Cloudworks srl ricerca un junior PHP developer Offerte e Richieste di Lavoro e/o Collaborazione 0
M motore di ricerca complesso php PHP 2
R Barra ricerca php e mysql PHP 0
R Ricerca Email in database mysql con php PHP 2
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
M Box di ricerca in php PHP 3
P PHP modulo ricerca e ordine alfabetico PHP 5
G Visualizzazion modulo di ricerca in PHP e MySql PHP 0
A Ricerca full text mysq ed estrazione con php PHP 8
G Php problema con risultato di ricerca PHP 2
I Facile.it Spa ricerca Senior PHP Developer forti ed ambiziosi! Offerte e Richieste di Lavoro e/o Collaborazione 0
K Problema ricerca con piu campi in php PHP 3
Sargon Php / My sql motore di ricerca PHP 21
F Ricerca avanzata PHP & MySQL PHP 4
P PHP Workgroup Livorno, RICERCA giovani programmatori! Offerte e Richieste di Lavoro e/o Collaborazione 1

Discussioni simili