Kod
$query="SELECT * FROM users WHERE (CONCAT(nazwisko,imie) OR CONCAT(imie,nazwisko) LIKE '%Kowalski%' OR '%Jan%'";
W przypadku, gdy w formularzu wpisze "Jan Kowalski" - wszystko jest ok. Jesli natomiast wpisze "Kowalski Jan" to pokaze mi rowniez Roberta Kowalskiego. Jesli zmienie warunek po LIKE z OR na AND, to nie otrzymam zadnych wynikow.
Probowalem sam rozwiazac ten problem. Wymyslilem dwa zapytania - jedno sprawdzi baze dla warunku CONCAT(imie,nazwisko), a drugie dla CONCAT(nazwisko,imie) - z tym, ze musze jakos wykluczyc powtarzajace sie wyniki, a nie usmiecha mi sie tworzyc tablicy, sortowac jej, a nastepnie wyrzucac powtorzenia. W przypadku 10 userow zlozonosc bedzie znikoma, ale dla 10 tys ludzi...?
Ma ktos jakis pomysl, jak rozwiazac powyzszy problem?