Grupowanie wyników - php/mysql

2013-06-25 15:12:24 Post #1 gość_Maryjan

 
Witam
Od pewnego czasu nie mogę poradzić sobie z wyciągnięciem danych z tabeli "uzytkownicy" i pogrupowaniem ich wg. ponizszego szablonu:

Warszawa:
   - user 1
    - user 6
    - user 7

Poznań:
    - user 3
    - user 4
    
Gdańsk:
    - user 2
    - user 5
    
itd...

Generalnie potrzebuję to do wyświetlenia mapy (google) użytkowników. Mapa działa częściowo jak trzeba, problem pojawia się kiedy użytkownicy pochodzą z tego samego miasta. Wówczas wartości szer. i dług. geograficzna jest identyczna i markery pokrywają się.
Chce porównać identyczne wartości lat i lng, pogrupować użytkowników z tego samego miejsca a następnie wyświetlić pętlą (jak na liście wyżej).

Struktura bazy (skrócona):
uzytkownicy -> id, imie, nick, miasto, [...], lat, lng

Będę naprawdę bardzo wdzięczny jeśli ktoś znajdzie moment i pochyli się nad tym.
Żadnego zapytania do ew. poprawienia nie mogę wkleić bo wszystko co próbuje napisać wyrzuca błędy składni.

pozdrawiam
Mariusz

2013-06-25 16:14:32 Post #2 nospor

 
Dokładnie to co chcesz:
Grupowanie wyników

2013-06-26 11:16:40 Post #3 gość_Maryjan

 
Nospor, dziękuję na nakierowanie, zrobione. W sumie to co poniżej to Twój kod + minimalne zmiany ale czy tak jest ok czy coś trzeba poprawić/zmienić?
pozdrawiam

$sql = "SELECT pseudonim_k, skad, lat FROM users ORDER BY pseudonim_k ASC";
$res = mysql_query($sql); 

$uzytkownicy = array();
while ($row = mysql_fetch_array($res)) {
    $pseudonim = $row["pseudonim_k"];
    $latitude = $row["lat"];
    
    $uzytkownicy[$latitude][] = $pseudonim; 
} 

echo "<pre>";
    print_r($uzytkownicy);
echo "</pre><br /><br /><br />";



echo "<dl>"; 
foreach ($uzytkownicy as $key => $uzytkownicy_) { 
    
    if ($key) {
        
        echo "<dt>{$key}<dt>";
        
            foreach ($uzytkownicy_ as $pseudonim) { 
                echo "<dd>{$pseudonim}</dd>"; 
            }
            
    }
  
} 
echo "</dl>";

2013-06-26 11:55:13 Post #4 nospor

 
Z grubsza jest ok

Odpowiedz

Ostatnio komentowane

  1. Mysql - FAQ Paweł
  2. Pager 2.5.1 oraz EPa... Na szybko2
  3. Pager 2.5.1 oraz EPa... Sławek
  4. Mysql - FAQ Piotr
  5. Liczba dni roboczych Na szybko2
  6. Liczba dni roboczych Naszybko
  7. Klasa widoku nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer