Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyświetlenie zależności w pętli
Forum PHP.pl > Forum > Przedszkole
shaolin33
mam taki problem,

chciałbym wyświetlić taka zalezność

1wiersz to bedzie $stała
2wiersz wg wzoru:

2wiersz=kwota pierwszy wiersz minus $stała
i tak dalej
3wiersz= kwota drugi wiersz minus $stala

tu jest to na obrazku zobrazowane
Turson
No i w czym masz kłopot? Nie podałeś nawet próby własnego rozwiązania.

To zwykłe odejmowanie jak mniemam
shaolin33
no chyba nie do końca bo przykładowo zmienia się kwota 2 wiersza jak odejmiemy znowu to w 3 wierszy bedzie juz znowu inna kwota




cały czas udoskonalam harmonogram ktory jest juz w takiej formie:


  1.  
  2. $begin = new DateTime('2013-08-31');
  3. $end = clone($begin);
  4. $end->modify("+".$dane[158]." months");
  5. $interval = new DateInterval('P1M');
  6. $daterange = new DatePeriod($begin, $interval, $end);
  7.  
  8.  
  9.  
  10. echo '<table>';
  11. foreach ( $daterange as $k => $date ) {
  12. echo '<tr>';
  13. echo '<td width="50">' . ($k + 1) . '</td>';
  14. echo '<td width="120">' . $date->format("Y-m-t") . '</td>';
  15. echo '<td width="130">'."6 kolumna".'</td>';
  16. echo '</tr>';
  17. }
  18. echo '</table>';
  19.  
  20.  
  21.  



no i właśnie w 6 kolumnie chce zeby mi to liczylo w petli
nospor
Jesli to pierwszy wiersz to do $wynik przypisujesz zawartosc pierwszego wiersza.
Jesli to nie pierwszy wiersz, to od $wynik odejmujesz stala.

Ot i filozofia.
shaolin33
Cytat(nospor @ 6.09.2013, 14:28:33 ) *
Jesli to pierwszy wiersz to do $wynik przypisujesz zawartosc pierwszego wiersza.
Jesli to nie pierwszy wiersz, to od $wynik odejmujesz stala.

Ot i filozofia.



tylko że przykładowo wynik dla wiersza 3 to wynik wiersza 2 minus stała


i tutaj mam problem własnie jak to opisać

głównie te wiersze?
buliq
kolego chyba sam nie wiesz co chcesz, albo nie potrafisz sobie tej układanki w głowie ułożyć.
Jest to proste jak drut

Jak masz pętle i wiesz że wiersz jest pierwszym to wartość kwoty ustawisz na wartość z kwoty z wiersza pierwszego
dalej jest już prościej bo dla każdego kolejnego elementu od kwoty odejmujesz stałą z zapisujesz to jako następną kwotę(następnego wiersza)
nospor
Cytat
tylko że przykładowo wynik dla wiersza 3 to wynik wiersza 2 minus stała
No i przeciez to ci wlasnie napisalem.... czytales to w ogole?
shaolin33
Cytat(buliq @ 6.09.2013, 14:53:05 ) *
kolego chyba sam nie wiesz co chcesz, albo nie potrafisz sobie tej układanki w głowie ułożyć.
Jest to proste jak drut

Jak masz pętle i wiesz że wiersz jest pierwszym to wartość kwoty ustawisz na wartość z kwoty z wiersza pierwszego
dalej jest już prościej bo dla każdego kolejnego elementu od kwoty odejmujesz stałą z zapisujesz to jako następną kwotę(następnego wiersza)


no właśnie nie potrafie sobie tej układanki w głowie ułozyć i dlatego te dziwne pytania:)
czy ktos to może na przykładzie zobrazowac?


nospor
Cytat
czy ktos to może na przykładzie zobrazowac?
Przeciez dostales gotowy algorytm.... ty juz nad nim nie musisz myslec, tylko zrobic to co tam jest napisane.... no to juz jest zwykle lenistwo
Damonsson
My mamy zobrazować jakie pytanie chcesz zadać?

To najpierw tu http://www.ezotv.pl/
a później do nas wink.gif

Masz 2 rozwiązania, albo branie zaktualizowanej kwoty, albo ciągle tej samej, ani jedno, ani drugie Ci nie pasuje, więc co?
buliq
Obrazek masz tutaj: http://screencast.com/t/XwQ0LmPem biggrin.gif
shaolin33
  1. echo '<table>';
  2. foreach ( $daterange as $k => $date ) {
  3. echo '<tr>';
  4. echo '<td width="50">' . ($k + 1) . '</td>';
  5. echo '<td width="120">' . $date->format("Y-m-t") . '</td>';
  6. echo '<td width="120">'.$nombre_format_francais = number_format($kapital, 2, ',', ' ').'</td>';
  7. echo '<td width="120">'."4 kolumna".'</td>';
  8. echo '<td width="120">'.$nombre_format_francais = number_format($kapital_odsetki, 2, ',', ' ').'</td>';
  9. echo '<td width="130">'."kolumna6".'</td>';
  10. echo '</tr>';
  11. }
  12. echo '</table>';



jak mam w miejsce kolumna 6 wrzucic

tą pętle,

  1. for($val=$kwota_kred_minus_kapital, $i=0; $i<$dane[158]; $val-=$kapital, $i++) {
  2. echo $nombre_format_francais = number_format($val, 2, ',', ' ') . '<br>';
  3. }
nospor
Wlacz myslenie..... ty nie masz tworzyc zadnej nowej petli.

To jest twoja glowna petla
foreach ( $daterange as $k => $date ) {
i to wzgledem niej masz patrzec czy to pierwszy wiersz czy nie.

W ta petle co ci pokazalem masz wstawic to:
Jesli to pierwszy wiersz to do $wynik przypisujesz zawartosc pierwszego wiersza.
Jesli to nie pierwszy wiersz, to od $wynik odejmujesz stala.
buliq
Moje zdenerwowanie sięga dzisiaj granic ....

Pięknie wygląda pierwszy foreach, czy stworzenie drugiego takiego stwarza tak kolosalne problemy?
nospor
@buliq a po ci drugi foreeach? Wszystkie obliczenia maja byc w pierwszym i jedynym foreach
shaolin33
ok, czyli mam to wszystko zrobić e jednej pętli ?

bo każdy coś dokłada od siebie i wychodzi lipa.

nie wiem tez po co te nerwy.

celowo dodałem tego posta w PRZEDSZKOLE bo nie jestem z tym na codzień, więc czasem mogę również to też inaczej interpretować niż osoby ktore mają to w jednym palcu.
nospor
Masz jedna petle, ktora leci po twoich wierszach. W tej petli chcesz wygenerowac kolumne 6.
Tak, to wlasnie tej petli masz w stawic to co ci napisalem. Zmienna $wynik jest tym co chcesz miec w kolumnie 6.
shaolin33
zmieniłem jednak to drugie zapytanie bo to lepiej wylicza o to co mi chodzi:


for($val=$kwota_kred_minus_kapital, $i=0; $i<$dane[158]; $val-=$kapital, $i++) {

echo $nombre_format_francais = number_format($val, 2, ',', ' ') ;
}

ale jak wrzucam do tej poprzedniej to dalej mi to zle wyswietla bo robi mi sie druga petal , znowu niepotrzebnie



  1. echo '<table>';
  2. foreach ( $daterange as $k => $date )
  3. {
  4. echo '<tr>';
  5. echo '<td width="50">' . ($k + 1) . '</td>';
  6. echo '<td width="120">' . $date->format("Y-m-t") . '</td>';
  7. echo '<td width="120">'.$nombre_format_francais = number_format($kapital, 2, ',', ' ').'</td>';
  8. echo '<td width="120">'."4 kolumna".'</td>';
  9. echo '<td width="120">'.$nombre_format_francais = number_format($kapital_odsetki, 2, ',', ' ').'</td>';
  10. }
  11. for($val=$kwota_kred_minus_kapital, $i=0; $i<$dane[158]; $val-=$kapital, $i++) {
  12.  
  13. echo '<td width="130">'.$nombre_format_francais = number_format($val, 2, ',', ' ').'</td>';
  14. echo '</tr>';
  15. }
  16. echo '</table>';


w jaki sposob mam dopisac tutaj
  1. foreach ( $daterange as $k => $date )
ten drugi wariant ?

w taki sposob:

foreach ( $daterange as $k => $date ) ; ($val=$kwota_kred_minus_kapital, $i=0; $i<$dane[158]; $val-=$kapital, $i++)

questionmark.gif



zapisałem to w taki sposób:) ale teraz to zapetliłem to już wogole smile.gifsmile.gif

jednak wasza pomoc będzie niezbędna smile.gif

  1. echo '<table>';
  2. foreach ( $daterange as $k => $date )
  3. {
  4. for($val=$kwota_kred_minus_kapital, $i=0; $i<$dane[158]; $val-=$kapital, $i++)
  5. {
  6. echo '<tr>';
  7. echo '<td width="50">' . ($k + 1) . '</td>';
  8. echo '<td width="120">' . $date->format("Y-m-t") . '</td>';
  9. echo '<td width="120">'.$nombre_format_francais = number_format($kapital, 2, ',', ' ').'</td>';
  10. echo '<td width="120">'."4 kolumna".'</td>';
  11. echo '<td width="120">'.$nombre_format_francais = number_format($kapital_odsetki, 2, ',', ' ').'</td>';
  12. echo '<td width="130">'.$nombre_format_francais = number_format($val, 2, ',', ' ').'</td>';
  13. echo '</tr>';
  14. }
  15. }
  16. echo '</table>';


Cytat(nospor @ 7.09.2013, 09:55:52 ) *
Masz jedna petle, ktora leci po twoich wierszach. W tej petli chcesz wygenerowac kolumne 6.
Tak, to wlasnie tej petli masz w stawic to co ci napisalem. Zmienna $wynik jest tym co chcesz miec w kolumnie 6.


czy idę w dobrym kierunku ?


  1. echo '<table>';
  2. foreach ( $daterange as $k => $date ) {
  3. $val=$kwota_kred_minus_kapital, $i=0; $i<$dane[158]; $val-=$kapital, $i++ ;
  4. echo '<tr>';
  5. echo '<td width="50">' . ($k + 1) . '</td>';
  6. echo '<td width="120">' . $date->format("Y-m-t") . '</td>';
  7. echo '<td width="120">'.$nombre_format_francais = number_format($kapital, 2, ',', ' ').'</td>';
  8. echo '<td width="120">'."4 kolumna".'</td>';
  9. echo '<td width="120">'.$nombre_format_francais = number_format($kapital_odsetki, 2, ',', ' ').'</td>';
  10. echo '<td width="130">'."kolumna6".'</td>';
  11. echo '</tr>';
  12. }
  13. echo '</table>';


proszę o jakiś przykład, może pomoże smile.gif
buliq
Oh God ...
Powiedz, czy jak odpalasz ten kod, to czy PHP informuje cię o błędach?
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.