Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logistyczny problem... pętle?
Forum PHP.pl > Forum > PHP
misiek172
Hej smile.gif

Męczę się z dość podejrzewam głupim problemem, jednak nie mogę sobie poradzić.

Piszę aplikację dedykowaną, która ma produkty, które składają się ze składników dynamicznych i statycznych, jeden przygotowany produkt w zależności od ilości składników dynamicznych wygeneruje daną ilość gotowych wycenionych porduków.

Poniżej zamieszam graficznie jak to powinno mniej więcej działać.



aktualnie wygląda to mniej wiecej tak:

foreach produkty
-> pobierz z bazy skladniki produktu gdzie dynamiczne DESC (statyczne maja wartosc 0)
$suma = 0;
foreach skladniki
-> jezeli statyczny $suma += $cena statycznego
-> jezeli dynamiczny pobierz jego skladniki
- i co teraz? smile.gif

Dzięki za pomoc z góry smile.gif

Pozdrawiam!

phpion
O ile dobrze zrozumiałem to zastosuj rekurencję. W momencie gdy badasz składnik dynamiczny, który może składać się z X statycznych i Y kolejnych dynamicznych (bo tak zrozumiałem) wykonaj jeszcze raz tą samą funkcję. Coś takiego:
  1. function funkcja($produkt) {
  2. $suma = 0;
  3.  
  4. foreach ($produkt as $skladnik) {
  5. if ($skladnik->jest_dynamiczny()) {
  6. $suma += funkcja($skladnik);
  7. }
  8. else {
  9. $suma += $skladnik->cena;
  10. }
  11. }
  12.  
  13. return $suma;
  14. }
misiek172
nie nie, dynamiczny, oznacza ze w jego miejsce ma byc postawiony x statycznych, moze ten obrazek wyjasni moj problem:



edit:

problema cala polega na tym ze te dynamiczne musza przesuwac sie parami...

dynamiczny oznacza po prostu zeby pobrac z baze liste sytatycznych ktore tu maja zostac podstawione

na logike trzeba by tu pobraz wszystkie dynamiczne i ustawić nie wiem... w macierz? Nigdy nie korzystałem z macierzy ale właaśnie coś takiego się tu zaczyna tworzyć...
i wtedy pobierc sume kolumny 1 do produktu 1, kolumna 2 do produktu 2 itd, i wszystko byloby ok ale jak to ujac w petlach? Bo pamiętajmy, że te makiety produktow tez sa literowane w nadrzędnej pętli

edit:


już CHYBA mniej więcej wiem co może pomóc... powiedzcie mi tylko szybko jak zamienić taki układ tablic w taki? :

Pyton_000
To się nazywa transponowanie macierzy wink.gif

  1. function transpose($array) {
  2. array_unshift($array, null);
  3. return call_user_func_array('array_map', $array);
  4. }
misiek172
no to coś ze szkoły pamietam, ale jak wspomniałem do tej pory nie musiałem używać macierzy w aplikacjach php smile.gif dzięki ! smile.gif

widzę, że dołączyliśmy do tego forum tego samego dnia! Przypadek? smile.gif
Pyton_000
Jesteś moim klonem haha.gif
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.