Witam
Chcę zrobić skrypt który będzie pobierał mi wszystkie kombinacje zaznaczonych podkategorii
Przykładowo mam 3 kategorie (może być ich więcej lub mniej):
Kategoria 1 Kategoria 2 Kategoria 3
-podkat1.1 -podkat2.1 -podkat3.1
-podkat1.2 -podkat2.2 -podkat3.2
-podkat1.3 -podkat2.3
-podkat1.4
-podkat1.5

Przy każdej z podkategorii mam pole chcekcbox do zaznaczania którą podkategorię chce wyszukać
I teraz chcę pobrać wszystkie kombinację zaznaczonych podkategorii czyli przykładowo gdy mam zaznaczone:
-podkat1.1 -podkat2.1 -podkat3.1
-podkat1.2 -podkat2.2

to skrypt pokazuje kombinacje
przy pierwszym obrocie pętli:
podkat1.1, podkat2.1, podkat3.1
przy drugim obrocie pętli:
podkat1.1, podkat2.2, podkat3.1
przy trzecim obrocie pętli:
podkat1.2, podkat2.1, podkat3.1
przy czwartym obrocie pętli:
podkat1.2, podkat2.2, podkat3.1

Napisałem coś takiego ale działa tylko gdy w Kategori 2 i w Kategorii 3 jest zaznaczona tylko jedna podkategoria
  1. $tab_id = explode(',', $id_cat); //tu jest tablica z zaznaczonymi id podkategorii
  2. $ag_found = true;
  3. for($fdsa=0; $fdsa<count($tab_id); $fdsa++){
  4.  
  5. $query_st = $q->db("SELECT * FROM `tabela` WHERE `id` = '".$tab_id[$fdsa]."'"); // zapytanie pobiera id kategorii gdzie występuje dana podkategoria
  6.  
  7. foreach ($query_st as $row_st) {
  8.  
  9. if($zm != $row_st['id_f]){
  10. if($ag_found === true){
  11. $first = 'a'.$row_st['id'].'-'.$row_st['id_f].'<br />';
  12. }
  13. else
  14. $reszta .= $row_st['id'].'-'.$row_st['id_f].'<br />';
  15. }
  16. else $qwer .= '<strong>'.$row_st['id'].'-'.$row_st['id_f].'</strong>;<br />';
  17. $zm = $row_st['id_f];
  18. $ag_found = false;
  19. }
  20.  
  21. }
  22.  
  23. echo $first;
  24. echo $reszta;
  25. $tab_qwer = explode(';', $qwer);
  26. for($d=0; $d<count($tab_qwer); $d++){
  27. echo $tab_qwer[$d];
  28. echo str_replace($first, $tab_qwer[$d], $reszta);
  29. }


Może to wam bardziej zobrazuje o co mi chodzi bo sam nie mogę sobie poradzić:
Jak zrobić aby wyświetlić wszystkie kombinację takich ciągów znaków?
//id numer
141-66
142-66
168-69
189-69
181-73
Oczywiście w jednej kombinacji nie może występować ciąg z taka sama kolumna numer czyli np. nie może być tak:
141-66, 142-66, 168-69 //to jest zle bo jest 141-66 i 142-66
powinno być coś takiego:
1.kombinacja
141-66, 168-69, 181-73
2.kombinacja
141-66, 189-69, 181-73
3.kombinacja
142-66, 168-69, 181-73
4.kombinacja
142-66, 189-69, 181-73

Takich ciągów oczywiście może być więcej np dodatkowo będzie jeszcze: 147-66 lub 199-69 lub 183-73 itd. wtedy ilość kombinacji oczywiście się zwiększa.
Proszę pomóżcie mi z tym.