Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Generowanie menu z tablicy
northwest
post 10.04.2011, 10:09:14
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Witam serdecznie,
mam taki kod:
  1. $tablica2 = $ms->query_select("SELECT z bazy;");
  2. echo "<pre>";
  3. print_r ($tablica2);
  4. echo "</pre>";


który zwraca mi następujący wynik:
  1. (
  2. [0] => Array
  3. (
  4. [nazwa_kategori] => Kategoria 1
  5. [id_kategori] => 1
  6. [nazwa_podkategori] => Podkategoria 2
  7. [id_podkategori] => 2
  8. [nazwa_podpodkategori] => Podpodkategoria 3
  9. [id_podpodkategori] => 3
  10. )
  11.  
  12. [1] => Array
  13. (
  14. [nazwa_kategori] => Kategoria 1
  15. [id_kategori] => 1
  16. [nazwa_podkategori] => Podkategoria 3
  17. [id_podkategori] => 3
  18. [nazwa_podpodkategori] => Podpodkategoria 3
  19. [id_podpodkategori] => 3
  20. )
  21.  
  22. [2] => Array
  23. (
  24. [nazwa_kategori] => Kategoria 1
  25. [id_kategori] => 1
  26. [nazwa_podkategori] => Podkategoria 3
  27. [id_podkategori] => 3
  28. [nazwa_podpodkategori] => Podpodkategoria 3
  29. [id_podpodkategori] => 3
  30. )
  31.  
  32. [3] => Array
  33. (
  34. [nazwa_kategori] => Kategoria 1
  35. [id_kategori] => 1
  36. [nazwa_podkategori] => Podkategoria 2
  37. [id_podkategori] => 2
  38. [nazwa_podpodkategori] => Podpodkategoria 3
  39. [id_podpodkategori] => 3
  40. )
  41.  
  42. [4] => Array
  43. (
  44. [nazwa_kategori] => Kategoria 2
  45. [id_kategori] => 2
  46. [nazwa_podkategori] => Podkategoria 1
  47. [id_podkategori] => 1
  48. [nazwa_podpodkategori] => Podpodkategoria 1
  49. [id_podpodkategori] => 1
  50. )
  51.  
  52. [5] => Array
  53. (
  54. [nazwa_kategori] => Kategoria 2
  55. [id_kategori] => 2
  56. [nazwa_podkategori] => Podkategoria 1
  57. [id_podkategori] => 1
  58. [nazwa_podpodkategori] => Podpodkategoria 1
  59. [id_podpodkategori] => 1
  60. )
  61.  
  62. )


chciałbym zbudować w oparciu o te dane coś takiego (takie menu):
- [id_kategori] - [nazwa_kategori]
- [id_podkategori] - [nazwa_podkategori]
- [id_podkategori] - [nazwa_podkategori]
- [id_podpodkategori] - [nazwa_podpodkategori]
- [id_podkategori] - [nazwa_podkategori]
- [id_podpodkategori] - [nazwa_podpodkategori]
- [id_podpodkategori] - [nazwa_podpodkategori]
- [id_podpodkategori] - [nazwa_podpodkategori]
- [id_kategori] - [nazwa_kategori]
- [id_kategori] - [nazwa_kategori]
....
....


Czyli chciałbym przefiltrować całą tablicę pod kontem duplikatów i potem zbudować menu na tej podstawie...
Wie ktoś może jak to zrobić najlepiej?

Z góry dziękuje za pomoc,
northwest
Go to the top of the page
+Quote Post
lukaskolista
post 10.04.2011, 10:55:19
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Filtrowanie pod wzgledem duplikatow
  1. $i = 0;
  2. while (isset($menu[$i])) {
  3. $j = 0;
  4. while (isset($menu[$j])) {
  5. if ($menu[$i]['nazwa_kategorii'] === $menu[$j]['nazwa_kategorii']) {
  6. unset($menu[$j]);
  7. }
  8. ++$j;
  9. }
  10. ++$i;
  11. }


Wyswietlanie
  1. $i = 0;
  2. while (isset($menu[$i])) {
  3. echo $menu[$i]['nazwa_kategori'].'<br />';
  4. ++$i;
  5. }


Edit:
cos moze byc zle bo dzisiaj wyjatkowo zle mi sie mysli, ale sposob jest dobry

Ten post edytował lukaskolista 10.04.2011, 10:55:45
Go to the top of the page
+Quote Post
mat-bi
post 10.04.2011, 10:56:32
Post #3





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


a array_unique to już pies?
Go to the top of the page
+Quote Post
northwest
post 10.04.2011, 21:06:38
Post #4





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


kurcze,nie działa to sad.gif

Mam takie coś:
  1. (
  2. [0] => Array
  3. (
  4. [nazwa_kategori] => Kategoria 1
  5. [id_kategori] => 1
  6. [nazwa_podkategori] => Podkategoria 2
  7. [id_podkategori] => 2
  8. [nazwa_podpodkategori] => Podpodkategoria 3
  9. [id_podpodkategori] => 3
  10. )
  11.  
  12. [1] => Array
  13. (
  14. [nazwa_kategori] => Kategoria 1
  15. [id_kategori] => 1
  16. [nazwa_podkategori] => Podkategoria 3
  17. [id_podkategori] => 3
  18. [nazwa_podpodkategori] => Podpodkategoria 3
  19. [id_podpodkategori] => 3
  20. )
  21.  
  22. [2] => Array
  23. (
  24. [nazwa_kategori] => Kategoria 1
  25. [id_kategori] => 1
  26. [nazwa_podkategori] => Podkategoria 3
  27. [id_podkategori] => 3
  28. [nazwa_podpodkategori] => Podpodkategoria 3
  29. [id_podpodkategori] => 3
  30. )
  31.  
  32. [3] => Array
  33. (
  34. [nazwa_kategori] => Kategoria 1
  35. [id_kategori] => 1
  36. [nazwa_podkategori] => Podkategoria 2
  37. [id_podkategori] => 2
  38. [nazwa_podpodkategori] => Podpodkategoria 3
  39. [id_podpodkategori] => 3
  40. )
  41.  
  42. [4] => Array
  43. (
  44. [nazwa_kategori] => Kategoria 2
  45. [id_kategori] => 2
  46. [nazwa_podkategori] => Podkategoria 1
  47. [id_podkategori] => 1
  48. [nazwa_podpodkategori] => Podpodkategoria 1
  49. [id_podpodkategori] => 1
  50. )
  51.  
  52. [5] => Array
  53. (
  54. [nazwa_kategori] => Kategoria 2
  55. [id_kategori] => 2
  56. [nazwa_podkategori] => Podkategoria 1
  57. [id_podkategori] => 1
  58. [nazwa_podpodkategori] => Podpodkategoria 1
  59. [id_podpodkategori] => 1
  60. )
  61.  
  62. )



i chciałbym taki efekt osiągnąć:

Kategoria 1
-- Podkategoria 2
----Podpodkategoria 3
-- Podkategoria 3
----Podpodkategoria 3
Kategoria 2
-- Podkategoria 1


próbowałem różnie, ale zawsze wywala mi się na podpodkategoriach :/
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 Wersja Lo-Fi Aktualny czas: 5.07.2025 - 12:09