Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> podliczenie godzin w kolumnach
acer
post 26.05.2009, 11:34:34
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.05.2009

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


Witam.
Próbuje napisać prosty skrypt podsumowujący godziny pracy pracowników na podstawie daty godziny zalogowania oraz wylogowania. Dane są przechowywane w tabeli sql i teraz podczas prezentacji tych danych w tabeli chciałbym żeby skrypt zaprezentował dane dla konkretnego wiersza, ale coś mi to nie wychodzi ponieważ skrypt wszystko fajnie oblicza tak jak właśnie chcę z tą tylko różnicą, że dla pierwszego wiersza i pozostałe wiersze mają już taką samą wartość jak pierwszy. Czy ktoś byłby w stanie pomóc?
tak wygląda funckja:
  1. <?php
  2. // funkcja obliczajaca ilość godzin
  3. function ilosc_godzin($data_poczatek, $date_koniec, $jednostka_czasu="sekund")
  4. {
  5. $tablica = array(godzin=>3600);
  6. return round(((strtotime($date_koniec) - strtotime($data_poczatek)) / $tablica[$jednostka_czasu]))." ".$jednostka_czasu;
  7.  
  8. }
  9. //
  10. $data1 = $kol_czas['czasroz'];
  11. $data2 = $kol_czas['czaszak'];
  12. ?>

a tu prezentacja danych w tabeli:
  1. <table width="585" border="0">
  2.  <tr>
  3.    <td>idzm</td>
  4.    <td>login</td>
  5.    <td>Rozpoczęcie pracy</td>
  6.    <td>Zakończenie pracy</td>
  7.    <td>Podsumowanie</td>
  8.  </tr>
  9.  <?php do { ?>
  10.    <tr>
  11.      <td><?php echo $kol_czas['idzm']; ?></td>
  12.      <td><?php echo $kol_czas['login']; ?></td>
  13.      <td><?php echo $kol_czas['czasroz']; ?></td>
  14.      <td><?php echo $kol_czas['czaszak']; ?></td>
  15.      <td><?php echo ilosc_godzin("$data1", "$data2", "godzin");
  16. ?></td>
  17.    </tr>
  18.    <?php } while ($kol_czas = mysql_fetch_assoc($czas)); ?>
  19. </table>


Ten post edytował acer 26.05.2009, 11:55:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
sowiq
post 26.05.2009, 11:58:08
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


A to dlatego, że cały czas wykonujesz funkcję dla tych samych zmiennych, tzn:
  1. <?php
  2. echo ilosc_godzin("$data1", "$data2", "godzin");
  3. ?>

Zamiast $data1 wstaw w wywołaniu funkcji $kol_czas['czasroz'] i analogicznie dla drugiej zmiennej.
Go to the top of the page
+Quote Post
acer
post 26.05.2009, 16:30:20
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.05.2009

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


Dzięki serdecznie sowiqexclamation.gif!
Oczywiście pomogło i już wszystko gra.

Jeszcze jeden mały problem mi wyskoczył i nie mogę sobie z nim poradzić otóż tak:
  1. <table width="585" border="0">
  2. <tr>
  3.   <td>idzm</td>
  4.   <td>login</td>
  5.   <td>Rozpoczęcie pracy</td>
  6.   <td>Zakończenie pracy</td>
  7.   <td>Podsumowanie</td>
  8. </tr>
  9. <?php do { ?>
  10.   <tr>
  11.     <td><?php echo $kol_czas['idzm']; ?></td>
  12.     <td><?php echo $kol_czas['login']; ?></td>
  13.     <td><?php echo $kol_czas['czasroz']; ?></td>
  14.     <td><?php echo $kol_czas['czaszak']; ?></td>
  15.     <td><?php $sd = roznica_data($kol_czas['czasroz'], $kol_czas['czaszak'], "minut")/'60';echo number_format($sd, 2, ':', ' ');?></td>

teraz chciałbym wynik funkcji roznica_data zsumować no i nawet mi się to udało tylko że pokazuje kolejno sumę po każdym wierszu a ja bym chciał tylko żeby pokazywał tę ostatnią
kod:
  1. </tr>
  2.   <?php
  3.    $suma += $sd ;
  4.    echo number_format($suma, 2, ':', ' ') ;
  5.    ?>
  6.    <?php } while ($kol_czas = mysql_fetch_assoc($czas)); ?>
  7. </table>
Go to the top of the page
+Quote Post
sowiq
post 26.05.2009, 16:33:32
Post #4





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


echo wyrzuć za pętlę.
Go to the top of the page
+Quote Post
acer
post 26.05.2009, 16:41:40
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 26.05.2009

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


ok działa sowiq jesteś Wielki.

Ten post edytował acer 26.05.2009, 16:42:03
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:18