Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [propel][Criteria] wyszukiwanie danych w dwóch lub więcej kolumnach
kaniagandzowski
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 2.06.2006

Ostrzeżenie: (0%)
-----


Witam

Posiadam bazę, w której jest tabela klientów, składająca się z kolumn imię, nazwisko, tel, adres itd

Chcę umożliwić wyszukanie klienta poprzez wpisanie w polu wyszukiwarki imię i nazwisko np Jan kowalski. Teraz mam problem by wyszukać należało by wpisać każde słowo w osobnych polach, które każde pole odpowiadało przeszukiwanej kolumnie

Nie wiem w jaki sposób umożliwić wyszukiwanie w dowolnych kolumnach i zwrócenie wyników bardziej pasującej zapytaniu.

Poniżej przykład przedstawia wyszukanie klienta ale wymagane jest podanie osobno imie i nazwisko.
  1. <?php
  2. $kryteria = new Criteria();
  3.  
  4.  
  5. //sortowanie danych według alfabetu
  6. $kryteria->addAscendingOrderByColumn(KontrahentowPeer::IMIE );
  7. $kryteria->addAscendingOrderByColumn(KontrahentowPeer::NAZWISKO );
  8.  
  9. $kryteria->add(KontrahentowPeer::IMIE , '%Jan%', Criteria::LIKE);
  10. $kryteria->add(KontrahentowPeer::NAZWISKO , '%Kowalski%', Criteria::LIKE);
  11. $db = KontrahentowPeer::doSelect($kryteria);
  12. ?>
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


A co stoi na przeszkodzie rozbić Jan Kowalski względem spacji?
I już będziesz miał dwa człony do wyszukiwania.
Go to the top of the page
+Quote Post
kaniagandzowski
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 2.06.2006

Ostrzeżenie: (0%)
-----


a co zrobi jeśli napisze Kowalski Jan lub samo nazwisko albo wpisze adres zamieszkania klienta.

Myślę że musiał bym stworzyć pole typu select w którym by wybierał w jakiej kolumnie ma przeszukać czy zapytanie tyczy sie adresu czy imię lub nazwiska.
Go to the top of the page
+Quote Post
Jojo
post
Post #4





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


A próbowałeś metody Criteria::addOr() ?
Go to the top of the page
+Quote Post
kaniagandzowski
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 2.06.2006

Ostrzeżenie: (0%)
-----


coś probowałem ale nie wychodziło mi (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) może, dlatego że propela znam od paru dni i tylko podstawowe jego funkcje.

Musiałem zostawić to i zrobiłem na zasadzie, że wybiera w jakiej kolumnie ma szukać dane słowo.

Ale chętnie bym się dowiedział jak w propelu zrobić, żeby przeszukiwał bazę w różnych kolumnach dane słowa i wyświetlił zgodnie z trafnością na dane szukane słowo lub słów.

Ten post edytował kaniagandzowski 20.12.2007, 13:35:14
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 19:02