Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sortowanie tablicy wielowymiarowej
Forum PHP.pl > Forum > Przedszkole
arzach
Witam mam taki kod

  1. <?php
  2. $wynik = dbquery("SELECT article_cat, article_subject, article_cat_name, article_id, article_cat_id FROM ".DB_ARTICLES." a LEFT JOIN ".DB_ARTICLE_CATS." c ON (a.article_cat=c.article_cat_id) WHERE ".groupaccess('article_cat_access')." AND a.article_draft='0'");
  3. if(dbrows($wynik) > 0) {      
  4. $kategorie = array();
  5. while($r = dbarray($wynik))    
  6. {
  7. if (!isset($kategorie[$r['article_cat_id']])){
  8. $kategorie[$r['article_cat_id']] = array(
  9. 'article_cat_id' => $r['article_cat_id'],
  10. 'article_cat_name' => $r['article_cat_name'],
  11. 'articles' => array());
  12. }
  13. if (!empty($r['article_id'])) {
  14. $kategorie[$r['article_cat_id']]['articles'][] = array(
  15. 'article_id' => $r['article_id'],
  16. 'article_subject'=>$r['article_subject'],
  17. 'article_id'=>$r['article_id'],
  18. 'article_cat'=>$r['article_cat']);
  19. }
  20. }
  21. }
  22. foreach ($kategorie AS $idCat => $category){
  23. $article_cat_name[$idCat]  = $category['article_cat_name'];
  24. echo "<div class='klik' id=".$category['article_cat_id']." style='text-align:left'>".THEME_BULLET." ".$category['article_cat_name']."</div>";  
  25. foreach ($category['articles'] AS $articles){
  26. echo "<div class=pokaz".$articles['article_cat']." style='text-align:left; margin-left:15px; display:none'>".THEME_BULLET." <a href='".BASEDIR."articles.php?article_id=".$articles['article_id']."'>".$articles['article_subject']."</a></div>";
  27. }
  28. }
  29. ?>


I dostaję taką tablice

Kod
<BR>Array ( [2] => Array ( [article_cat_id] => 2 [article_cat_name] => kategoria2 [articles] => Array ( [0] => Array ( [article_id] => 1 [article_subject] => artyluk nr 1 [article_cat] => 2 ) [1] => Array ( [article_id] => 2 [article_subject] => artykul nr 2 [article_cat] => 2 ) ) ) [1] => Array ( [article_cat_id] => 1 [article_cat_name] => kategoria1 [articles] => Array ( [0] => Array ( [article_id] => 3 [article_subject] => artykul nr 3 [article_cat] => 1 ) ) ) ) <script> $(document).ready(function(){ $("div.klik").click(function () { var id = $(this).attr("id"); $("div.pokaz" + id).toggle("slow"); }); }); </SCRIPT> <BR>


Jak za pomocą mogę array_multisort" title="Zobacz w manualu PHP" target="_manual posortować tablice po kluczu article_cat_name by nazwy kategorii było od a do z oraz po kluczu article_subject proszę po pomoc ?
planet
A może spróbuj to posortować od razu w zapytaniu? pokombinuj z GROUP BY i ORDER BY
ayeo
Witam!

Staraj się formatować kod, który wklejasz. Przecież tam nic nie widać! Już nie wspominam nawet o dumpie tej tablicy tongue.gif Znacznie zwiększysz szanse, że ktoś poświęci czas na Twój problem winksmiley.jpg

Pozdrawiam!
arzach
W zapytaniu nie da rady tego zrobić bo jak widać dane są zapisywane do tablicy jest to przykład z http://nospor.pl/grupowanie-wynikow-n35.html
potreb
Też korzystam z rozwiązania nospora i w zapytaniu można posortować tak jak chcesz.

Skoro tablice tworzysz w pętli to chyba sortowanie powinno działać.
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.