Jak przeszukiwać tabelę w MySQL?

0

Siemka, a więc mam w tabeli w stringu:

Ania,Tomek,Zuzia,Roksana
jak mogę wyszukać gdzie jest np. Tomek jednocześnie nie zwracając gdy ktoś wpisze Omek ? :D
To działa mi tylko gdy przecienk jest na końcu :<

$resultend = mysql_query("SELECT * FROM `tabela` WHERE osoba LIKE '%$search,%'");

zamiana znacznika <code class="sql"> na <code class="php"> - @furious programming

0

załóż fulltext index na tej kolumnie, to da Ci dostęp do zaawansowanych funkcji wyszukiwania w tekście

http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

0

to

SELECT * FROM `tabela` WHERE osoba LIKE '%tomek%'

NIGDY nie zwróci frazy omek, zwróci np. atomek ale NIE omek
BTW jesli w polu osoba jest tylko jedno imię to zamiast LIKE powinno być = jeśli natomiast jest tam kilka imion to masz źle zaprojektowaną bazę

0

@up A gdy ktoś wpisze

SELECT * FROM `tabela` WHERE osoba LIKE '%omek%'

również to zwróci :/

Tak mam tam więcej imion, jak poleciłbyś przerobić bazę? :v

0

tak aby jedno imię było w jednej kolumnie. Jak chcesz konkretów to napisz co tam konkretnie trzymasz

0

Konkretnie trzymam tam zbiór "tagów" :D czyli. 'a,b,c,d,e,f,g,h' i kiedy ktoś wpisze np. d to zwróci mu wszystkie rekordy zawierające tag z tą frazą :P

2

jeśli koniecznie chcesz je tak trzymać to zapisuj je tak: ;tag 1;tag 2;tag 3; i wtedy wyszukuj tak tag LIKE '%;tag 2;%'

1 użytkowników online, w tym zalogowanych: 0, gości: 1