Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+sql] problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych
Belze
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?
jmail
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. }
Belze
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. }

jmail
  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.
Belze
podziałało!

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

+'pomógł' dla Ciebie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.