ďťż
Podstrony
|
telcocafeNie znalazłem w googlach odpowiedzi (ponieważ nie bardzo wiem czego szukać), na mój problem, więc piszę tu.Mój problem wygląda następująco: chcę porównać ciąg znaków przesłany mi przez użytkownika, np.: "Jan Kowalski", z danymi w bazie danych. Niestety, imie i nazwisko znajdują się w dwóch oddzielnych polach bazy. Nie wiem jak to razwiązać, aby moja wyszukiwarka była tak mądra jak google (odporna na zapytanie typu: "Kowalski Jan", "Kowalsk", "jan") i zawsze zwracała "logiczne" wyniki. I proszę o wyrozumiałość, jestem początkującym programistą. Z góry dziękuję za odpowiedź. Jeśli to jest tak jak przedstawiasz (imię i nazwisko), to robisz coś takiego:$dane = 'Jan Kowalski'; $a = explode(' ',$dane);a następnie możesz coś takiegoSELECT * FROM tabela WHERE (imie=$a[0] && nazwisko=$a[1]) || (imie=$a[1] && nazwisko=$a[0]);) Jeśli fraza jest bardziej skomplikowana, zapętl wyrażenie bądź pokombinuj z LIKE :) Użytkownik DJ_ProG edytował ten post 15 wrzesień 2007, 21:17 nie lepije dac dwa pola, osobno na imie i nazwisko? wtedy bedziesz mial pewnosc co jest co DJ_ProG: dzięki, myśle że to zda sprawe! A jeżeli nie zda to w MySQL jest jeszcze polecenie concat,które służy do łączenia ciągów znakówSELECT * FROM tabela WHERE concat(imie," ",nazwisko)=$zmienna To oczywiście na marginesie :) |
|||
Sitedesign by AltusUmbrae. |