![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie !
Natchnąłem się problem natury teoretycznej. A więc: załóżmy mam 3 grupy kategorii, w każdej grupie są 3 kategorie. Cytat Grupa 1 ---Kategoria 1 ---Kategoria 2 ---Kategoria 3 Grupa 2 ---Kategoria 4 ---Kategoria 5 ---Kategoria 6 Grupa 3 ---Kategoria 7 ---Kategoria 8 ---Kategoria 9 Oraz jeden element który posiadałby kombinacje tych kategorii np. Cytat Element 1 kombinacja 1 (kategoria 1, kategoria 4, kategoria 7) Element 1 kombinacja 2 (kategoria 1, kategoria 5, kategoria 7) Element 1 kombinacja 3 (kategoria 1, kategoria 6, kategoria 7) Element 1 kombinacja 4 (kategoria 1, kategoria 4, kategoria 8) itd... na przykład: Zwierzę kombinacja 1 (rodzaj: kot, gatunek: syjamski, kolor: czarny) I teraz kluczowy problem, jak sprawnie i szybko utworzyć sobie w PHP takie drzewko kombinacji ? Mam na myśli wszystkie możliwe kombinacje. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Jeżeli grupy nie mają znaczenia, to wrzuć to do tablicy a potem coś w stylu:
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje serdecznie
![]() Niestety jednak grupy mają znaczenie. Uproszczając mam na myśli warianty produktu, np. kolor: biały, rozmiar: x. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No tak, ale Twój przykład jest zbyt lakoniczny, by wyciągnąć wnioski potrzebne do napisania odpowiedniego skryptu. Piszesz wpierw o "Grupach" i przypisanych im "Kategoriach", a potem podajesz w przykładzie "Elementy" i "kombinacje". Podaj lepszy przykład.
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok, więc załóżmy mamy produkt w sklepie, i ten produkt ma swoje atrybuty np. kolor: biały, czarny; wielkość: X, L; i teraz chcę zrobić wszystkie możliwe warianty produktu na podstawie n grup atrybutów.
Cytat Produkt 1 kolor: biały; rozmiar: X; Produkt 1 kolor: biały; rozmiar: L; Produkt 1 kolor: czarny; rozmiar: X; Produkt 1 kolor: czarny; rozmiar: L; Mam nadzieję, że sprawa się lekko wyjaśniła. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Dane masz w bazie?
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tak, baza podzielona jest na:
attributes_groups: id_attributes_group attributes: id_attribute, id_attributes_group, ... inne dane takie jak nazwa itp. Ten post edytował marcin.j 4.12.2011, 18:55:21 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Podam Ci przykład, a Ty kombinuj:
Warunek WHERE możesz pominąć... Ten post edytował Kshyhoo 4.12.2011, 19:00:51 -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Kurde w mordę, jak masz tylko trzy grupy skorzystaj z potrójnego selekta.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
A co ma SELECT do tego ? Nie nie mam 3 grup, mam N grup atrybutów i N atrybutów w tych grupach. Nie chodzi mi o pobranie atrybutów znając tylko id ich grupy, natomiast o wygenerowanie maksymalnej możliwej ilości kombinacji tych grup.
Przykład: Cytat Grupa kolor { czarny (id: 1), biały (id: 2) } Grupa rozmiar { X (id: 3), L (id: 4), XL (id: 5) } wygenerowane kombinacje dla produktu o grupach atrybutów kolor i rozmiar: Cytat Kombinacja 1 (1, 3),
Kombinacja 2 (1, 4), Kombinacja 3 (1, 5), Kombinacja 4 (2, 3), Kombinacja 5 (2, 4), Kombinacja 6 (2, 5) Ten post edytował marcin.j 4.12.2011, 20:20:12 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Można ze skończonej ilości tabel zawierających skończoną ilość elementów utworzyć(wypisać) wszystkie kombinacje.Wymaga to troszeczkę zaangażowania i pomyślunku. Info na PW.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:16 |