Proszę o pomoc.
Ten kod wypisuje mi
Otrzymane:Kwota:-28160.00W tablicy:-28160
Otrzymane:Kwota:-500.00W tablicy:-500
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||

Tak jakby w ogóle nie przekazywał return $dane;

  1. function daneSkrot($poziom, $maxpoziom, $rodzic, $warunek='') {
  2. $result = mysql_query("SELECT kk.id, kk.rodzic, SUM(CASE WHEN kw.typ=1 THEN kw.kwota ELSE (0-kw.kwota) END) AS kwota, kw.oddzial FROM kategorie_kasy kk, kasy kw WHERE kw.kategoria=kk.id AND {$warunek} kk.poziom='{$poziom}' AND kk.rodzic='{$rodzic}' GROUP BY kw.oddzial");
  3. while($row = mysql_fetch_assoc($result)) {
  4. if ($poziom<$maxpoziom) {
  5. $dane=daneSkrot($poziom+1, $maxpoziom, $row['id'], $warunek);
  6. echo 'Otrzymane:'.$dane[$row['rodzic']][$row['oddzial']].'Kwota:';
  7. }
  8. $dane[$row['rodzic']][$row['oddzial']]=$dane[$row['rodzic']][$row['oddzial']]+$dane[$row['id']][$row['oddzial']]+$row['kwota'];
  9. echo $row['kwota'].'W tablicy:'.$dane[$row['rodzic']][$row['oddzial']].'<br/>';
  10. }
  11. return $dane;
  12. }
  13.  
  14.  
  15. $dane = daneSkrot(0,2,0);
  16. for ($rzad=0;$rzad<15;$rzad++)
  17. { for($kolumna=0;$kolumna<15;$kolumna++)
  18. echo $dane[$rzad][$kolumna].'|';
  19. echo '<br />';
  20. }


Rozwiązałem. Temat do zamknięcia


  1. <?php
  2. include 'config.php';
  3. db_connect();
  4.  
  5. function daneSkrot($poziom, $maxpoziom, $rodzic, $warunek='') {
  6. $result = mysql_query("SELECT kk.id, kk.rodzic, SUM(CASE WHEN kw.typ=1 THEN kw.kwota ELSE (0-kw.kwota) END) AS kwota, kw.oddzial FROM kategorie_kasy kk, kasy kw WHERE kw.kategoria=kk.id AND {$warunek} kk.id>0 AND kk.poziom='{$poziom}' AND kk.rodzic='{$rodzic}' GROUP BY kw.oddzial, kk.id");
  7. while($row = mysql_fetch_assoc($result)) {
  8. if ($poziom<$maxpoziom) {
  9. $dane=daneSkrot($poziom+1, $maxpoziom, $row['id'], $warunek);
  10. echo 'KAT:'.$row['id'].'ODD:'.$row['oddzial'].'Otrzymane:'.$dane[$row['id']][$row['oddzial']].'Kwota:';
  11. }
  12. if($row['rodzic']==0) {
  13. $dane[$row['id']][$row['oddzial']]=$dane[$row['id']][$row['oddzial']]+$row['kwota'];}
  14. else {
  15. $dane[$row['rodzic']][$row['oddzial']]=$dane[$row['rodzic']][$row['oddzial']]+$dane[$row['id']][$row['oddzial']]+$row['kwota'];}
  16. echo $row['kwota'].'W tablicy:'.$dane[$row['id']][$row['oddzial']].'<br/>'.'W tablicy UP:'.$dane[$row['rodzic']][$row['oddzial']].'<br/>';
  17. }
  18. return $dane;
  19. }
  20.  
  21.  
  22.  
  23. $dane = daneSkrot(0,2,0);
  24.  
  25.  
  26.  
  27. for ($rzad=1;$rzad<15;$rzad++)
  28.  
  29. { for ($kolumna=1;$kolumna<15;$kolumna++)
  30.  
  31. echo $dane[$rzad][$kolumna].'|';
  32.  
  33. echo '<br />';
  34.  
  35. }
  36.  
  37. db_close();
  38. ?>