Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sortowanie tablicy asocjacyjnej
-Gość_pawel-
post
Post #1





Goście







mam tablicę zorganizowaną w sposób:

for $i
{
$tablica['tytuł'][$i] = zmienna z bazy;
$tablica['podtytul'][$i] = zmienna z bazy;
itd...
}

jak posegregować taką tablicę według np 'tytul'. (nie chcę odwracać kolejności podtablic 'tytul'<>$i co by ulatwilo sprawę). pewnie trzeba zastosować jakiś UASORT, ale nie bardzo wiem jak spowodować, żeby sortowanie tytułu pociągnęło za soba zmiany w podtytule itd.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
mario
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


a nie lepiej będzie zamiast
  1. <?php
  2. for $i
  3. {
  4. $tablica['tytuł'][$i] = zmienna z bazy;
  5. $tablica['podtytul'][$i] = zmienna z bazy;
  6. itd...
  7. }
  8. ?>

zorganizować tablicę tak?
  1. <?php
  2. for $i
  3. {
  4. $tablica[$i]['tytul']['podtytul'] = zmienna z bazy;
  5. }
  6. ?>
wtedy masz wszystko w jednej tablicy wielowymiarowej i sortowanie jest o wiele łatwiejsze.
Go to the top of the page
+Quote Post
-Guest-
post
Post #3





Goście







Chodzi o to ze calosc uzywam potem w templatsach, a moja kolejnosc jest duzo wygodniejsza tam. Zreszto mam już taki układ uzyty w kodzie kilkadziesiąt razy, więc wolę raz napisać skomplikowańsze sortowanie niż przeszukiwać i poprawiać działający kod kilka godzin. Wiem że taka tablica obsłużona była by standardowym uasortem, ale mi chodzi o opsotrowanie takiego dziwadła jak opisałem.
Go to the top of the page
+Quote Post
Peter Riley
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2005

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


Cytat(Gość_pawel @ 2005-05-07 17:18:16)
jak posegregować taką tablicę według np 'tytul'. (nie chcę odwracać kolejności podtablic 'tytul'<>$i co by ulatwilo sprawę). pewnie trzeba zastosować jakiś UASORT, ale nie bardzo wiem jak spowodować, żeby sortowanie tytułu pociągnęło za soba zmiany w podtytule itd.

ORDER BY przy wyciaganiu z bazy, albo array_multisort:

  1. <?php
  2.  
  3. array_multisort($tablica['tytul'],SORT_ASC,$tablica['podtytul']);
  4.  
  5. ?>


Ten post edytował Peter Riley 8.05.2005, 09:42:58
Go to the top of the page
+Quote Post
-Gość_pawel-
post
Post #5





Goście







Dziękuję bardzo. dokładnie o to chodziło. W sql nie moglem ORDER zadac, bo to jest zbiór z kilku tabel, wedłóg rożnych kryteriów wyciągany i dopiero po całym pobraniu mogę to segregować. jeszcze raz dziękuję.
Go to the top of the page
+Quote Post
-Gość_pawel-
post
Post #6





Goście







Mam jeszcze jedno pytanie. jak zmusić multisortowanie do prawidłowego traktowania polskich liter??
Go to the top of the page
+Quote Post
Peter Riley
post
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2005

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


Cytat(Gość_pawel @ 2005-05-08 11:00:33)
Mam jeszcze jedno pytanie. jak zmusić multisortowanie do prawidłowego traktowania polskich liter??

Nie chce mi sie sprawdzac, ale sprobuj:
setlocale(LC_ALL, 'pl_PL');
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 13:04