![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Witam tworzę wyszukiwarkę na stronę, która sprawdza zawartość w dwóch tabelach i podaje wyniki w dwóch pętlach jedną odpowiedzialną za jedną baze i w drugiej za drugą bazę. W internecie znalazłem sposób na stronicowanie wyników ale nie potrafię ich zastosować w tym skrypcie. Zlicza ona całość wyników i dzieli je na strony w określonej ilości. Problemu nie ma gdy szukana fraza znajduje się w jednej tabeli bo ładnie wtedy stronicuje. Pojawia się gdy fraza znajdzie się w dwóch tabelach wtedy rekordy wyświetla mi po np. 5 z jednej tabeli i po 5 z drugiej tabeli. Myślałem, że możnaby było zrobić jakąś funkcję obliczeniową która zwracała by mi limit dla każdego zapytania tak aby wyświetlić w sumie 5 rekordów z obydwu tabel na stronę.
zamieszczam kod
Małe objaśnienie $licz[0] - zawiera ilość rekordów w sumie z obydwu tabel $na_stronie - ilość rekordów wyśw. na stronie Przykład działania w obecnej chwili: wyszukuję frazę "miecz" 1. gdy fraza zostanie znaleziona tylko w tabeli films znajdzie np. 7 filmów "ogniem i mieczem" i wyświetli 5 na pierwszej stronie i 2 na drugiej 2. Gdy fraza zostanie znaleziona w obu tabelach znajdzie 7 filmów "ogniem i mieczem" i 6 seriali "wiedźmin", zatem wyświetli 5 "ogni" i 5 "wiedźminów" na pierwszej oraz 2 "ognie" i 1 "wiedźmin" na 2 stronie. A w drugim przypadku chciałbym aby wyświetlało 5 ogni na pierwszej 2 ognie na drugiej i 3 wiedźminy na drugiej oraz 2 wiedźminy na trzeciej. Może być też w innej kombinacji ale mam nadzieję że opisałem zrozumiale zasadę działania. Ten post edytował Greg0 25.09.2009, 18:13:56 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A nie prościej użyć UNION przy zapytaniu i potem się dalej bawić? Zamiast się bawić dwoma zapytaniami do bazy i kombinowanie z łączeniem wyników, masz jedno zapytanie i obrabiasz dane jak chcesz potem już.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem z tym ale w zapytaniu UNION musi być tyle samo pól, a w tych tabelach tak nie jest.
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
To dodaj "NULL, NULL, ... " w polach w SELECT tak aby ilosc i typ sei zgadzal
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:13 |