Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Poprawienie zapytania, poprawa wyszukiwarki
darlowiak
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.05.2013

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


Witam Oto kod
  1. SELECT * FROM `mydb`.`gw_przych` AS `gw_przych` WHERE ( `Od` LIKE :Nadawca OR `Do` LIKE :Adresat OR `Nr_ref` LIKE :Nr_ref OR `Segregator` LIKE :Segragator OR `Dotyczy` LIKE :Dek OR `Rodzaj_pisma` LIKE :Rodzaj_pisma OR `Znak_pisma` LIKE :Znak_pisma OR `Data` = :Data_dokładna OR `Data` BETWEEN :Po_dacie AND :Przed_datą OR `Dotyczy` LIKE :Dotyczy ) ORDER BY `Lp` ASC, `Data` ASC


I mój problem (w innym temacie mam problem z PL znakami) tym razem polega na tym że po uzupełnieniu np. Rodzaju_pisma i zakresu dat albo Rodzaju pisma i Nadawcy to wyświetla wszystkie dane, tak jakbym nic nie podał.
Gdy wypełnie tylko [Rodzaj_pisma] albo każdy inny pojedynczo parametr to działa, jak kilka to już nie.


podobno to jest wina użycia OR
proszę o pomoc (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


A jak to ma działać? czy aby na pewno jak OR?
Go to the top of the page
+Quote Post
darlowiak
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.05.2013

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


to ma działać tak że
screen
Kto wpisuje wybrane przez siebie parametry właśnie np. Rodzaj_pisa i Nadawce , bez uzupełniania pozostałych i ma mu przeszukać baze na podstawie tego.

A na razie działa to tak że jak sie wpisze jeden parametr to dział i szuka, samą date też szuka, zakres dat też szuka. Jedynie gdy sie poda 2 lub więce parametrów głupieje i wywala całą tabele.



Z drugiej strony spróbowałem inaczej i osobno zrobiłem wyszukiwarke wg.dat i osobno wg. danych gdzie zamiast OR mam AND i podczas wyszukiwania wpisuje tam gdzie nie znam parametru % a gdzie znam to wpisuje go i wtedy też normalnie filtruje te dane. Ale wolał bym mieć wszystko w jennym, a nie 2 osobne.
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Ale wg podanych warunków ma powiększać zbiór wynikowy (OR), czy też pomniejszać (AND).
id miasto imie
1 warszawa ala
2 olsztyn iza
3 warszawa ela
4 elblag ela

przy wpisaniu imie='ela', to wiadomo - pojawia sie rekordy 3 i 4
przy wpisaniu miasto='warszawa', rekordy 1 i 3
Co ma sie pokazac przy wpisaniu miasto='warszawa' oraz imie='ela'. rekordy 1,3,4, czy tylko 3?
Go to the top of the page
+Quote Post
darlowiak
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.05.2013

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


Cytat(mmmmmmm @ 10.06.2013, 15:45:35 ) *
Ale wg podanych warunków ma powiększać zbiór wynikowy (OR), czy też pomniejszać (AND).
id miasto imie
1 warszawa ala
2 olsztyn iza
3 warszawa ela
4 elblag ela

przy wpisaniu imie='ela', to wiadomo - pojawia sie rekordy 3 i 4
przy wpisaniu miasto='warszawa', rekordy 1 i 3
Co ma sie pokazac przy wpisaniu miasto='warszawa' oraz imie='ela'. rekordy 1,3,4, czy tylko 3?


hmmm co do przykładu to żeby ograniczało sie do dokładnych wartości czyli w tym przypadku 3

a u mnie wpisze Rodzaj_pisma=email to pokaze dobrze same mejle
ale już jak wpisze email i do tego Nadawce to wywala wszystko całą baze
a chce zeby pokazał mejle tylko od tego nadawcy



A co do tego okienka i opcji uzycia AND

Jeśli z kodu wywaliłem funkcje wg. daty i dałem zamiast OR > AND.
To po wpisaniu RodzajPisma= email i Nadawca=jakasfirma to wywala dalej całą baze, ale po wpisaniu rodzaju pisma i nadawcy a reszty parametrów uzupełniłem samym '%' . To pokazuje dobrze przeszukaną baze same mejle od tego nadawcy

I tu jest problem, bo o ile uzycie AND i w nieznane parametry wpisanie '%' to nie problem.
To dla kogoś kto chce przeszukać bazę jest ważna data!

Czyli np wyszukać RodzajPisma, nadawce z danego okresu, a gdy parametry do daty mam w kodzie to sie sypie nawet z AND i wywala całą baze

Ktoś ma na to jakiś pomysł ?
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: 4.10.2025 - 06:49