Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z sortowaniem wielowymiarowej tablicy
Forum PHP.pl > Forum > Przedszkole
M4T3U5Z
Mam problem: używam sortowania array_multisort, ale coś nie zatrybiło i nie sortuje...

mam taką oto tablice:
  1. <?php
  2. (
  3.    [0] => Array
  4.        (
  5.            [users] => marsz
  6.            [upodbic] => 1
  7.            [uautomat_tak] =>
  8.            [uautomat_nie] => 1
  9.            [udata3] => 00:00:00
  10.            [udata1] => 2008-12-13 14:07:38
  11.            [udata2] => 2008-12-13 14:07:38
  12.            [ipodbic] =>
  13.            [iautomat_tak] =>
  14.            [iautomat_nie] =>
  15.            [iaukcji] =>
  16.            [sortownia] => 1229173658
  17.        )
  18.  
  19.    [1] => Array
  20.        (
  21.            [users] => grzech3333
  22.            [upodbic] => 2
  23.            [uautomat_tak] =>
  24.            [uautomat_nie] => 2
  25.            [udata3] => 00:01:22
  26.            [udata1] => 2008-12-13 14:07:31
  27.            [udata2] => 2008-12-13 14:08:53
  28.            [ipodbic] =>
  29.            [iautomat_tak] =>
  30.            [iautomat_nie] =>
  31.            [iaukcji] =>
  32.            [sortownia] => 1229173733
  33.        )
  34.  
  35.    [2] => Array
  36.        (
  37.            [users] => joannap
  38.            [upodbic] => 7
  39.            [uautomat_tak] => 7
  40.            [uautomat_nie] =>
  41.            [udata3] => 00:02:37
  42.            [udata1] => 2008-12-13 14:07:24
  43.            [udata2] => 2008-12-13 14:10:01
  44.            [ipodbic] =>
  45.            [iautomat_tak] =>
  46.            [iautomat_nie] =>
  47.            [iaukcji] =>
  48.            [sortownia] => 1229173801
  49.        )
  50. // tablica jest o wiele dłuższa...
  51. ?>


anjalogicznie jak jest w manualu zrobiłem:
  1. <?php
  2. foreach ($dane as $klucz => $wiersz)
  3.    {
  4.        $users[$klucz]       = $wiersz['users'];
  5.        $upodbic[$klucz]     = $wiersz['upodbic'];
  6.        $uautomat_tak[$klucz]= $wiersz['uautomat_tak'];
  7.        $uautomat_nie[$klucz]= $wiersz['uautomat_nie'];
  8.        $udata3[$klucz]      = $wiersz['udata3'];
  9.        $udata1[$klucz]      = $wiersz['udata1'];
  10.        $udata2[$klucz]      = $wiersz['udata2'];
  11.        $ipodbic[$klucz]     = $wiersz['ipodbic'];
  12.        $iautomat_tak[$klucz]= $wiersz['iautomat_tak'];
  13.        $iautomat_nie[$klucz]= $wiersz['iautomat_nie'];
  14.        $iaukcji[$klucz]     = $wiersz['iaukcji'];
  15.        $sortownia[$klucz]   = $wiersz['sortownia'];
  16.    }
  17.  
  18.    array_multisort($sortownia, SORT_DESC, $upodbic, SORT_DESC, $dane);
  19. ?>

no i niestety coś mi źle sortuje... najważniejsze jest aby mi posortował wdg pola 'sortownia'

z powyższego sortowania otrzymuje wynik jak z przed sortowania... co robię źle? proszę o wskazówkę...
artur_dziocha
a ten przykład sprawdzałeśquestionmark.gif U mnie działa idealnie
M4T3U5Z
  1. <?php
  2. $sort_arr = array();
  3.    
  4.    foreach($dane AS $uniqid => $row){
  5.        foreach($row AS $key=>$value){
  6.            $sort_arr[$key][$uniqid] = $value;
  7.        }
  8.    }
  9.  
  10.    print '';
  11.    print_r($dane);
  12.    print '';
  13.  
  14.    array_multisort($sort_arr['sortownia'], SORT_DESC, $dane);
  15.  
  16.  
  17.    print '';
  18.    print_r($dane);
  19.    print '';
  20. ?>


dzięki zatrybiło smile.gif
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.