Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem ze stronicowaniem
peklo
post
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


mam taki mały problemik ze stronicowaniem wyników.
Jak wcisne szukaj to stronicuje mi ok. Pokazuje wszystkie rekordy i dzieli ładnie na strony np:
27 rekordów po 5 na stronie czyli pokazuje 1 strona z 6. Jeślii wezme wybiorę warunki wyszukiwania również jest wszystko ok.
Problem pojawia się jak wciisnę warunki wyszukiwania dla drugiej tabeli.
Przykład:
Zaznacze prawo jazdy 1 i 2 pokazuje mi ładnie 6 wyników, a stronicowanie 1 strona z 5
lub
zaznacze pj 1 pokazuje 8 rekordów , a stronicowanie 1 z 3 stron.
Zapytanie odpowiedzialne za stronicowanie-nie do końca działa ok

  1. $sql="SELECT count(*) as `ile` FROM ogloszenia o WHERE ". implode( ' AND ', $where ) ;
  2. if(!empty($formData['id_prawo_jazdy']))
  3. $sql="SELECT count(*) as `ile` FROM ogloszenia o LEFT OUTER JOIN pj p on o.id=p.id_ogloszenia WHERE ". implode( ' AND ', $where )."";
  4. $row = $stmt=$pdo->prepare($sql);
  5. $row = $stmt->execute( $bind );
  6. $row = $stmt->fetch();
  7. $recordsCount = $row['ile'];



i skrypt z zapytania które jest ok, a słuzy do wyswietlania wyników
  1. $sql="SELECT o.miasto,o.id_kraj,o.id_wojewodztwo,o.wyroznione,o.aktywne,o.id,o.za,o.cena,o.id
    _kategoria,o.data_dod,o.nazwa_ogloszenia,o.czas,
  2. z.id_ogloszenia,z.thumb,z.uploads,z.im,p.id_ogloszenia,p.id_prawo_jazdy FROM ogloszenia o LEFT OUTER JOIN zdjecia z on o.id=z.id_ogloszenia LEFT OUTER JOIN pj p on o.id=p.id_ogloszenia
  3. WHERE ". implode( ' AND ', $where);
  4. if(!empty($formData['id_prawo_jazdy']))
  5. $sql.=" and o.id not in (select o2.id from ogloszenia as o2,pj as p2 where o2.id=p2.id_ogloszenia AND p2.id_prawo_jazdy in(".implode(',',$idpj_all)."))
  6. group by o.id having count(o.id)=".count($where_idpj)." order by o.wyroznione DESC,o.id DESC limit ".$start.",".($end - $start + 1);
  7. else
  8. $sql.=" group by o.id order by o.wyroznione DESC,o.id DESC limit ".$start.",".($end - $start + 1);
  9. $stmt=$pdo->prepare($sql);
  10. $stmt->execute( $bind );
Go to the top of the page
+Quote Post

Posty w temacie
- peklo   problem ze stronicowaniem   12.05.2014, 18:49:51
- - nospor   Problem z mysql nie ma wiekszego zwiazku. Przenosz...   12.05.2014, 18:52:58
- - peklo   no to tak robiłem i klapa. kombinowałem na wszelki...   12.05.2014, 18:53:56
- - nospor   W kodzie co tu pokazales raczej nie widac bys tak ...   12.05.2014, 18:56:16
- - peklo   tak bo to zapytanie działa mi najlepiej z posród t...   12.05.2014, 19:14:35
- - trueblue   [PHP] pobierz, plaintext $sql="SELECT count...   12.05.2014, 19:49:31
- - peklo   tak już próbowałem wcześnie Trueblue i na stornie ...   12.05.2014, 19:52:48
- - trueblue   A jak pobierasz z tego zapytania ilość wszystkich ...   12.05.2014, 19:57:00
- - peklo   jak pobieram wszystkie rekordy tj ok tym zapytanie...   12.05.2014, 19:59:03
- - trueblue   Chciałem abyś pokazał jakim kodem pobierasz z zapy...   12.05.2014, 20:00:41
- - peklo   [PHP] pobierz, plaintext $idpj_all=array(1,2,3...   12.05.2014, 20:05:39
- - trueblue   A jak z zapytania, które Ci podałem pobierasz wart...   12.05.2014, 20:10:38
- - peklo   tj pager autorstwa nospor, a wygląda mniej więcej ...   12.05.2014, 20:15:51
- - trueblue   Spróbuj tak: [PHP] pobierz, plaintext $stmt=$pdo-...   12.05.2014, 20:29:15
- - peklo   wszytkich rekordow=18   12.05.2014, 20:32:45
- - trueblue   I z takim kodem (już bez tego echo) nie działa str...   12.05.2014, 20:34:15
- - peklo   działa stronicowanie ale tylko dla warunkóww wyszu...   12.05.2014, 20:36:30
- - trueblue   A co pokazuje powyższe echo kiedy zaznaczysz ten j...   12.05.2014, 20:39:53
- - peklo   wszytkich rekordow=1   12.05.2014, 20:42:10
- - nospor   Pozwole sobie się znowu wtrącić: Jesli dodajecie d...   13.05.2014, 06:37:04
- - trueblue   Oczywiście, że masz rację nospor. count(distinct ...   13.05.2014, 07:09:43
- - peklo   całe zapytanie mam teraz tak lecz źle wyszukuje z ...   13.05.2014, 08:21:31
- - trueblue   Nic to nie zmieni. Zostało GROUP BY, ale usunięcie...   13.05.2014, 08:32:10
- - peklo   niby juz wszystko działa z jednym wyjątkiem. Jak z...   13.05.2014, 08:37:39
- - trueblue   Ok, ale nie chodziło o przebudowanie na zasadzie w...   13.05.2014, 14:13:43
- - peklo   dobra może i nospor ma rację odnosnie zakładania n...   20.05.2014, 13:46:17
- - nospor   Nie chodzilo o dołączenie drugiej tabeli, tylko o ...   20.05.2014, 13:48:32
- - peklo   chyba najlepiej będzie jak wkleje to zapytanie któ...   20.05.2014, 13:55:36
- - Crozin   Do stronicowania obiektów posiadających relację je...   20.05.2014, 14:01:47
- - peklo   czyli jedno zapytanie już mam które działa mi dobr...   20.05.2014, 14:19:30
- - nospor   Jkabys mial dobrze, to by ci poprawnie stronicowal...   20.05.2014, 14:22:15
- - peklo   witam ponownie Już mi ręce opadaja z tym stronicow...   21.05.2014, 16:09:15
- - nospor   Problem nie jest ze skryptem stronicowania, tylko ...   21.05.2014, 16:39:14
- - peklo   Ja wiem że problem nie jest z pagerem tylko z moim...   21.05.2014, 16:49:48
- - nospor   PIsales to juz wielokrotnie. Po co powtarzasz? Pod...   21.05.2014, 16:50:42
- - peklo   zmieniłem zapytanie i teraz mi dobrze stronicuje a...   26.05.2014, 21:12:04
- - nospor   Zamien limit ".$start.",".(...   26.05.2014, 21:17:14
- - peklo   cześć nospor Sory za maila ale juz nie wytrzymuje ...   26.05.2014, 21:29:14
- - nospor   Za pierwszym razem dla pagera ustawiasz zmienną ...   26.05.2014, 21:32:18
- - peklo   nospor i znowu będe musiał kolejny miesiąc kombino...   26.05.2014, 21:51:39
- - nospor   ech.... Po prostu za pierwszym razem zamiast ...   27.05.2014, 07:09:11
- - peklo   ok dzięki mam nadzieje że juz nie będe mieć proble...   27.05.2014, 08:15:16


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: 3.10.2025 - 20:51