ďťż

[PHP] Porównywanie ciągu znaków z danymi w bazie danych

       

Podstrony


telcocafe

Nie 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 :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.