Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]suma wartości z czterech tablic
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


Witam.
Mam takie cztery tablice
array
0 => string '48' (length=2)
array
0 => string '50' (length=2)
array
0 => string '22' (length=2)
array
0 => string '120' (length=3)
Chciałbym, żeby połączyć je w jedną. Nie wiem jak to zrobić bo jest to var_dump z jednej zmiennej i nie bardzo mam pomysł jak się odwołać żeby skorzystać z array_merge();
Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 18)
Raito
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Pokaż cały kod i umieść w znacznikach php.
Go to the top of the page
+Quote Post
jacusek
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


tablicę otrzymuję z sqlowego pytania wykonywanego w pętli:
$ile_usg jest zmienne w zależności od zazanczenie z formularza innej strony w tym przypadku jest to 4.
  1. for($a=0;$a<$ile_usl;$a++){
  2. $sql2="select nazwa,kwota from cennik where id_kat=".$kat_tab[$a];
  3. $rez2= mysqli_query($mysqli, $sql2);
  4. while($tab2=mysqli_fetch_array($rez2, MYSQLI_ASSOC)){
  5. $nazwa_uslug=$tab2['nazwa'];
  6. $kwota=$tab2['kwota'];
  7. $wartosc=($ilosc_tab[$a]*$kwota);

Chodzi mi o to, zeby $wartosc mozna było zsumować. Kombinowałem już na lewo i prawo, ale coś nie ma już pomysłu jak to zrobić.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


$suma = 0;

// pętla...
$suma += $wartość;
Go to the top of the page
+Quote Post
jacusek
post
Post #5





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


No właśnie problem w tym, że kompletnie nie mam pomysłu jak to zrobić. wstydnis.gif
próbowałem w ten sposób:
  1. $suma=0;
  2. for($c=0;$c<$ile_usl;$c++){
  3. $suma+= $wartosc;
  4.  
  5. }echo $suma;

ale pokazuje tylko 0000

Ten post edytował jacusek 12.02.2015, 20:21:32
Go to the top of the page
+Quote Post
robertpiaty
post
Post #6





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Nie bardzo kumam co masz na myśli. Zerknij na dokumentację http://php.net/manual/en/function.array-sum.php

Pętlą przejdziesz za pomocą
  1. foreach($tablica as $klucz=>$wartość){
  2.  
  3. }




--------------------
Go to the top of the page
+Quote Post
jacusek
post
Post #7





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


to też nie zadziałało
  1. $suma=0;
  2. foreach($war_tab as $klucz=>$wartosc){
  3. $suma+=$wartosc;
  4. }echo $suma;
sciana.gif
a array_sum próbowałem, ale to są 4 osobne tablice....
Go to the top of the page
+Quote Post
robertpiaty
post
Post #8





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Ale w zmiennej $war_tab masz te wszystkie tablice? Jeśli nie to taka pętla nie ma sensu. Sprawdź co masz wewnątrz pętli w zmiennej $wartość Jeśli to jest tablica to wystarczy zrobić w Twoim przypadku
  1. $suma += $wartosc[0];


Ten post edytował robertpiaty 12.02.2015, 20:34:47


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


pokaż kurna cały kod a nie dałeś kawałek czegoś z du...
Go to the top of the page
+Quote Post
jacusek
post
Post #10





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


działa, ale niestety tylko w pętli for. Poza pętlą nie działa, a niestety do tej zmiennej muszę mieć dostęp później.
Go to the top of the page
+Quote Post
robertpiaty
post
Post #11





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Pokaż co żeś wyrzeźbił bo inaczej nikt Ci nic nie pomoże.. i nie powie gdzie masz błąd.


--------------------
Go to the top of the page
+Quote Post
com
post
Post #12





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


zrób sobie tablice zamiast zmiennej albo wrzuć do jakiejś globalnej albo zrób zmienna globalną
Go to the top of the page
+Quote Post
jacusek
post
Post #13





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


to jest plik generujący fakturę do PDFa na podstawie mpdf.
Całego nie pokazuje bo nie ma potrzeby, bo do pętli for wszytko działa bez zarzutu.
  1. for($a=0;$a<$ile_usl;$a++){
  2. $b=$a+1;
  3. $blok3="
  4. <tr style=\"background-color: lightgrey\"><td style=\"border-style: 1px; text-align: center\">$b.</td>";
  5. $mpdf->WriteHTML($blok3);
  6. $sql2="select nazwa,kwota from cennik where id_kat=".$kat_tab[$a];
  7. $rez2= mysqli_query($mysqli, $sql2);
  8. while($tab2=mysqli_fetch_array($rez2, MYSQLI_ASSOC)){
  9. $nazwa_uslug=$tab2['nazwa'];
  10. $kwota=$tab2['kwota'];
  11. $wartosc=($ilosc_tab[$a]*$kwota);
  12. $war_tab=explode(',',$wartosc);
  13. $suma=0;
  14. foreach($war_tab as $klucz=>$wartosc){
  15. $suma += $wartosc[0];
  16.  
  17. }
  18.  
  19. $blok4="<td style=\"text-align: left\">$nazwa_uslug</td><td style=\"text-align: center\">$ilosc_tab[$a]</td>
  20. <td style=\"text-align: right\">$kwota PLN</td><td style=\"text-align: right\">$suma PLN</td></tr>";
  21. $mpdf->WriteHTML($blok4);
  22. }
  23. }
  24. $blok7="<tr><td colspan=\"2\"></td><td td style=\"background-color: lightgrey\" colspan=\"2\">Razem<br/>(ogólem do zapłaty):</td>
  25. <td style=\"background-color: lightgrey; text-align: right\">$suma PLN</td>";
  26. $mpdf->WriteHTML($blok7);
  27. $blok5="<tr><td colspan=\"5\"></td><tr><td colspan=\"5\"><font size=\"2\">KOMENTARZ</font></td></tr>";
  28. $mpdf->WriteHTML($blok5);
  29. $blok6="</table>";
  30. $mpdf->WriteHTML($blok6);
  31.  
  32. $mpdf->WriteHTML($blok2);
  33. $mpdf->Output();

CSS jest pomieszany z htmlem, ale niestety mam małe doświadczenie, a mpdf jest bardzo karpyśny pod tym względem. wink.gif

Ten post edytował jacusek 12.02.2015, 21:01:31
Go to the top of the page
+Quote Post
robertpiaty
post
Post #14





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

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


Wywal
  1. $suma=0;
przed pętlę for. Bo chyba pewnie chodzi Ci o sumę z całości.


--------------------
Go to the top of the page
+Quote Post
com
post
Post #15





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


  1. $wartosc=($ilosc_tab[$a]*$kwota);
  2. $war_tab=explode(',',$wartosc);
  3. $suma=0;
  4. foreach($war_tab as $klucz=>$wartosc){
  5. $suma += $wartosc[0];
  6.  
  7. }


co to ma na celu?

up gratuluje głupich pomysłów, jak już to daj je przed pętle for
Go to the top of the page
+Quote Post
Pyton_000
post
Post #16





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


ehh

wywal:
  1. $suma=0;
  2. foreach($war_tab as $klucz=>$wartosc){
  3. $suma += $wartosc[0];
  4.  
  5. }

daj
$suma =0;
PRZED for(...

i po $wartosc...
$suma += $wartosc;


Go to the top of the page
+Quote Post
jacusek
post
Post #17





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


@Pyton_000
Niech Ci ten w którego wierzysz, lub nie, wynagrodzi twoją pomoc i cierpliwość, w czym chcesz smile.gif.
Pomogło.
guitar.gif Wielkie dzięki.
@com
Pomysł pewnie głupi, ale to chyba lepsze niż w ogóle nie próbowanie i czekanie na rozwiązanie. I tak dziękuję za pomoc i zaangażowanie bez którego bym tego nie zrobił. Punktowanie głupich pomysłów też jest w cenie.
Go to the top of the page
+Quote Post
com
post
Post #18





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


chodziło mi o te operacje:
  1. $wartosc=($ilosc_tab[$a]*$kwota);
  2. $war_tab=explode(',',$wartosc);


bo nwm co chciałeś tym uzyskać i dlaczego tak
Go to the top of the page
+Quote Post
jacusek
post
Post #19





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


pomysł był taki, zanim zorientowałem się że to bez sensu, żeby utworzyć tablicę i później skorzystać z funkcji array_sum, dopóki nie zorientowałem się, że to 4 osobne tablice. wstydnis.gif
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 Aktualny czas: 20.08.2025 - 04:50