Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]grupowanie wyników
peklo
post
Post #1





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

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


witam
Mam problem i nie wiem co robie źle z grupowaniem wyników na stronie.
Chodzi o to, że wyniki grupuje mi niby dobrze ale pokazuje tylko pierwszy rekord z tabeli ogłoszenia a tych rekordów jest więcej.

Mam tabele główną (ogłoszenia) która ma kolumny
id
nazwa_ogłoszenia

Druga tabela PJ która jest z nią powiązana ma kolumny
id
id_ogloszenia
id_prawo_jazdy

tabele powiązane są ze w taki sposób:
ogloszenia.id=pj.id_ogloszenia. Dla tabeli ogloszenia.id może być podpiętych jedno lub kilka rekordów pj.id_ogloszenia

  1. <?php
  2. try
  3. {
  4. $sql = 'SELECT o.nazwa_ogloszenia onazwa_ogloszenia,p.id pid,p.id_ogloszenia pid_ogloszenia,p.id_prawo_jazdy pid_prawo_jazdy
  5. FROM ogloszenia o LEFT OUTER JOIN pj p on o.id=p.id_ogloszenia';
  6. $stmt=$pdo->prepare($sql);
  7. $stmt->execute();
  8. $ogloszenia = array();
  9. while($row = $stmt -> fetch())
  10. {
  11. if (!isset($ogloszenia[$oid]))
  12. $ogloszenia[$oid] = array(
  13. 'nazwa_ogloszenia' => $row['onazwa_ogloszenia'],'pjk'=>array()
  14. );
  15. if (!empty($row['pid_prawo_jazdy']))
  16. $ogloszenia[$oid]['pjk'][$row['pid']]= array('id_prawo_jazdy' => $row['pid_prawo_jazdy']
  17. );
  18. }
  19. foreach ($ogloszenia as $id_og => $ogloszenia)
  20. {
  21. echo $ogloszenia['nazwa_ogloszenia'];
  22. foreach ($ogloszenia['pjk'] as $pj_kategorie){
  23. echo $pj_kategorie['pj_kat'];
  24. }
  25. }
  26. $stmt -> closeCursor();
  27. }
  28. catch(PDOException $e)
  29. {
  30. echo 'Błąd.';
  31. }
  32.  
  33. ?>
Go to the top of the page
+Quote Post
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


A gdzie masz w zapytaniu grupowanie?
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@rad grupowanie jest robione na poziomie php
@peklo tyle razy cie prosilem, bys wlaczal wyswietlanie wszystkich bledow..... ale Ty ciągle swoje....ok, siedź nad kolejnym prostym bledem kolejne 2 dni...
A juz nawet nie bede wspominal o czyms takim, że poraz kolejny mając przed nosem arta po polsku, z gotowym kodem, jak zwykle to albo skasujesz radosnie jakąś glówną linijkę albo bez sensu ją zmienisz. Kod ma 4 linijki na skrzyż i nawet nie widzisz że jedną z wazniejszych skasowales... Nie rozumiem tego... To juz nawet 5cio letnie dziecko jakby pokazac mu te dwa kody i zabawić się w "znajdz 10 roznic" znalazlo by ze na jednym kodzie jest pewna linijka a na innym nie ma. A ty, osoba która od x czasu bawi się w programowanie, ciagle i ciagle to samo.
Go to the top of the page
+Quote Post
peklo
post
Post #4





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

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


nospor , a nie lepiej jest napisać: pominąłeś tą linijke (blblb) i już, a nie się tak rozpisywać. Ale dzięki przynajmniej, że napisałeś że coś pominąłem.
Tak na szybko za pętlą while pominąłem
  1. $oid=$row['OID'];


Ten post edytował peklo 26.06.2014, 10:05:51
Go to the top of the page
+Quote Post
fate
post
Post #5





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


nie ma lekko, z czasem zaczniesz doecniać chłopcze hahaha (IMG:style_emoticons/default/facepalmxd.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a nie lepiej jest napisać: pominąłeś tą linijke (blblb) i już,
A nie lepiej wkoncu jest zacząc myslec nad tym co się pisze a nie tylko bezmyslnie kopiowac i to na dodatek źle?
Nie lepiej włączyc wyswietlanie bledow jak to ci nie raz mowilem przy kazdym kolejnym twoim glupim bledzie?

Uwierz - lepiej.

Cytat
z czasem zaczniesz doecniać chłopcze
Skoro przez tyle czasu nie docenil to watpie by kiedykolwiek docenil... Jest juz w takim wieku, ze jak za 10 razem do niego nic nie dociera to i pewnie nie dotrze w ogole. Ale nie strzepie juz jezyka, bo znowu mi napisze, ze lepiej jest robic cos innego... np. wypic zimne piwko, co akurat mu racje bym przyznal (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
fate
post
Post #7





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


a to ten (IMG:style_emoticons/default/specool.gif)
Go to the top of the page
+Quote Post
peklo
post
Post #8





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

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


a co ma znaczyć to ten?
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: 24.08.2025 - 09:43