Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+sql] problem z zapytaniem, grupowanie wyników
Belze
post 13.10.2009, 22:22:05
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 15.09.2003
Skąd: warszawa

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


hej

mam problem z pewnym zapytaniem do bazy ew. działaniem na tablicach już po wyciągnięciu danych z sql.

mam bazę w mysql z listą obiektów podzieloną na województwa (wojewodztwo, miejscowosc, obiekt, wlasciwosc obiektu), po kliknięciu na link odpowiedniego województwa wyświetla się lista obiektów z danego rejonu, posortowana według nazw miejscowości.

wszystko fajnie - ale chciałbym później pogrupować wyniki według miejscowości

czyli np.

warszawa

obiekt 1, wlasciwosci obiektu 1
obiekt 2, wlasciwosci obiektu 2
...
obiekt 10, wlasciwosci obiektu 10


radom

obiekt1, wlasciwosci obiektu 1
..
obiekt 5, wlasciwosci obiektu 5


glowie sie nad tym od dluzszego czasu ale zadne rozwiązanie mi nie przychodzi do głowy. szukałem w necie, ale też bez rezultatu

ktoś pomoże?
Go to the top of the page
+Quote Post
jmail
post 13.10.2009, 22:27:05
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


jak wyświetlasz wyniki przez mysql_fetch_array (zapewne whilem lecisz po wynikach - nie podałeś kodu)

zrób tak

  1. $miejscowość = '';
  2. while(tutaj ten fetch){
  3. if ($miejscowosc != $miejscowosc_z_bazy){
  4. //tu sobie wyświetl nagłówek miejscowości
  5. }
  6. //i tu normalnie w pętli wyświetl obiekty bez miejscowości
  7. }
Go to the top of the page
+Quote Post
Belze
post 13.10.2009, 22:38:32
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 15.09.2003
Skąd: warszawa

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


kwestia jest taka, że nie mam pojęcia jakie to miejscowości będą

po zapytaniu do bazy wrzucam:
  1. $ile_znalezionych = mysql_num_rows($wynik);
  2.  
  3. for ($i=0; $i <$ile_znalezionych; $i++) {
  4. $wiersz = mysql_fetch_assoc($wynik);
  5.  
  6. // wyswietla wszystkie obiekty poprzez $wiersz['kolumna']
  7. }



Ten post edytował Belze 13.10.2009, 22:39:13
Go to the top of the page
+Quote Post
jmail
post 13.10.2009, 22:52:53
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


  1.  
  2. $miejscowosc = '';
  3.  
  4. if(mysql_num_rows($wynik) > 0){
  5. while($wiersz = mysql_fetch_array($wynik)){
  6. if($wiersz['miejscowosc'] != $miejscowosc){
  7. //wyświetl nagłówek dla miejscowości
  8. $miejscowosc = $wiersz['miejscowosc'];
  9. }
  10. // wyswietla wszystkie obiekty poprzez $wiersz['kolumna']
  11. }
  12. }
  13.  


zrób tak i sprawdź. Powinno być dobrze. musi być tylko w zapytaniu order by miejscowosc. nie musisz znać miejscowosci. po to na początku ustawiamy miejscowosc na pustą, żeby w pierwszym wejściu już stwierdziło, że jest nowa miejscowość. następnie w zmiennej miejscowość zapamiętujemy aktualną i nową wyświetlamy dopiero jak się zmieni.
Go to the top of the page
+Quote Post
Belze
post 13.10.2009, 23:01:32
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 15.09.2003
Skąd: warszawa

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


podziałało!

dzięki Ci wielkie - rozwiązałeś moją zagwozdkę smile.gif

+'pomógł' dla Ciebie

Ten post edytował Belze 13.10.2009, 23:02:05
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 4.05.2024 - 19:42