Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Sortowanie tablic
pieto
post
Post #1





Grupa: Zarejestrowani
Postów: 227
Pomógł: 1
Dołączył: 12.05.2002
Skąd: gdańsk

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


Witam jestem trochę zielony w tablicach i dlatego mam taki problem z posortowaniem tego
  1. <?php
  2.  
  3.  
  4. $strony = array(); 
  5. $i = 0; 
  6.  
  7. foreach($row_cat as $st) { 
  8. $i++; 
  9. $strony[$i]['Id'] =$row_cat['categories_id']; 
  10. $strony[$i]['Kategorie'] =tep_output_generated_category_pathDESC($idpp,$from = 'category');
  11. $strony[$i]['Tytul'] =$row_catE['categories_name']; 
  12. //$strony[$i]['Status']  =$row_cat['categories_id']; 
  13. $strony[$i]['Sortowanie'] =$row_cat['sort_order'];
  14. $strony[$i]['Edycja'] = '<a href="articles_edit.php?id='.$row_cat['categories_id'].'">&gt;&gt;</a>';
  15.  
  16. }
  17.  
  18. ?>

Wyczytałem ze moge to zrobic za pomocą funkcjio usort, ale przeczytawszy manuala nie wiem jak to zrobić, ktoś poratuje... winksmiley.jpg


--------------------
Materiały i Wypracowania znajdziesz na zgapa.pl i
Encyklopedii Zgapedia
Jedyny przedawkowany portal motoryzacyjny to autoholik.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
DzikiLis
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.12.2005
Skąd: Warszawa, Kabaty

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


Ale według czego chcesz sortować? Pierwszego wymiaru tablicy?
Go to the top of the page
+Quote Post
pieto
post
Post #3





Grupa: Zarejestrowani
Postów: 227
Pomógł: 1
Dołączył: 12.05.2002
Skąd: gdańsk

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


aa, no własnie.. posortować wg $strony[$i]['Kategorie']


--------------------
Materiały i Wypracowania znajdziesz na zgapa.pl i
Encyklopedii Zgapedia
Jedyny przedawkowany portal motoryzacyjny to autoholik.pl
Go to the top of the page
+Quote Post
crash
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


W manualu znajdziesz sporo przykładów funkcji do sortwania tablic wielowymiarowych. Ja tam znalazlem (i używam po paru przeróbkach) funkcję do sortwania względem kilku wymiarów i w odpowiedniej kolejności nawet smile.gif


--------------------
Go to the top of the page
+Quote Post
DzikiLis
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.12.2005
Skąd: Warszawa, Kabaty

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


Dwie sprawy:
1) Zastanów się, czy nie możesz tego posortować w zapytaniu SQL.
2) Co dokładnie jest w $strony[$i]['Kategorie']? Kolejna tablica? Nazwa funkcji , która ustawia wartość tej zmiennej nic mi nie mówi.

Szybka metoda to posortować korzystając z małej sztuczki:

  1. <?php
  2.  
  3. if (setlocale(LC_ALL, 'pl_PL.ISO_8859-2') !== false) echo 'locale ustawione';
  4.  
  5. $tabl[1]['kategoria'] = 'pierwsza';
  6. $tabl[2]['kategoria'] = 'druga';
  7. $tabl[3]['kategoria'] = 'trzecia';
  8. $tabl[4]['kategoria'] = 'czwarta';
  9. $tabl[5]['kategoria'] = 'piąta';
  10. $tabl[6]['kategoria'] = 'szósta';
  11. $tabl[7]['kategoria'] = 'siódma';
  12. $tabl[8]['kategoria'] = 'ósma';
  13. $tabl[9]['kategoria'] = 'dziewiąta';
  14.  
  15. $tabl[1]['opis'] = 'opis i1';
  16. $tabl[2]['opis'] = 'opis h2';
  17. $tabl[3]['opis'] = 'opis g3';
  18. $tabl[4]['opis'] = 'opis f4';
  19. $tabl[5]['opis'] = 'opis e5';
  20. $tabl[6]['opis'] = 'opis d6';
  21. $tabl[7]['opis'] = 'opis c7';
  22. $tabl[8]['opis'] = 'opis b8';
  23. $tabl[9]['opis'] = 'opis a9';
  24.  
  25. echo "<pre>";
  26. print_r($tabl);
  27. echo "</pre>";
  28.  
  29. asort($tabl);
  30.  
  31. echo "<pre>";
  32. print_r($tabl);
  33. echo "</pre>";
  34.  
  35. ?>


Uważaj, bo kluczowa jest tutaj kolejność deklarowania. W twoim przypadku musisz zamienić miejscami wiersz 9 i 10. Nie jest to jednak najszczęśliwsze rozwiązanie...
Go to the top of the page
+Quote Post
Pigula
post
Post #6





Grupa: Zarejestrowani
Postów: 446
Pomógł: 0
Dołączył: 5.03.2005
Skąd: Lublin

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


hmm zawsze mozesz napisac wlasne sortowanie wedlug algorytmu np. quicksort czy insertionsort ale czy bedzie to szybsze to nie wiem winksmiley.jpg
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 Aktualny czas: 19.08.2025 - 04:05