Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]odejmowanie godzin
peklo
post
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


witam
Mam oto taki kod który dodaje mi w pętli godziny do tabeli czas

  1. foreach((array)$_POST['us'] as $key=>$us) {
  2. $data_wyk = (array)$_POST['data_wyk'][$key];
  3. $godz_powr = (array)$_POST['godz_powr'][$key];
  4. $rozp_pracy = (array)$_POST['rozp_pracy'][$key];
  5.  
  6. $sql ='INSERT INTO czas(rozp_pracy,godz_powr,us) VALUES (:rozp_pracy,godz_powr,us)';
  7. $stmt = $pdo->prepare( $sql );
  8. $stmt->bindValue(':rozp_pracy',$_POST['rozp_pracy'][$key], PDO::PARAM_STR);
  9. $stmt->bindValue(':godz_powr',$_POST['godz_powr'][$key], PDO::PARAM_STR);
  10. $stmt->bindValue(':us', $us, PDO::PARAM_STR);
  11. $stmt->execute();
  12. }

Typ danych w tabeli czas to TIME i jeśli w formularzu mam np godz. 10.00 to do tabeli dodaje mi jako 10:00:00.
Chciałbym teraz dodać jeszcze jedną zmienną np nadgodziny, która odejmie mi dwie zmienne
$nadgodziny=$godz_powr-$rozp_pracy;
  1. [/php]
  2. Próbuje tak
  3. [php]$stmt->bindValue(':nadgodziny',strtotime(($_POST['godz_powr'][$key])) - strtotime(($_POST['rozp_pracy'][$key])), PDO::PARAM_STR);

ale cos mi nie wychodzi. Poza tym chciałbym aby wpis to zmiennej nadgodziny był w takiej postaci 4:00:00 (jeśli np będzie takia różnica 20:00-16:00)
Jak mam to zrobić? Ktoś coś pomoże?

Albo inaczej. Czy da się odjąć te dwie godziny podczas wypełniania formularzza i wrzucenie róznicy do ukrytego inputa?

Ten post edytował peklo 27.08.2015, 19:26:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
peklo
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


no nie za bardzo. Na jednej karcie na być godzina rozpoczecia pracy, godzina przyjazdu itd. Te godziny mają zostać na stałe dla potrzeb archiwizacji itd. Natomiast zmienna nadgodziny ma być odzielna zmienną, która będzie rozliczana i po rozliczeniu ustawiana na 0 h
Go to the top of the page
+Quote Post

Posty w temacie
- peklo   [PHP]odejmowanie godzin   27.08.2015, 18:36:09
- - nospor   strtotime - strtotime da ci liczbe sekund czyli 14...   27.08.2015, 19:26:31
- - peklo   no bo tak mi daje i dzieliłem to przez 3600 itd it...   27.08.2015, 19:32:27
- - nospor   No wartosc ktorą bindujesz ma juz byc prawidlowa.....   27.08.2015, 19:36:12
- - bobek358   A kolumny jaki mają typ w bazie danych?   27.08.2015, 19:36:49
- - peklo   w kolumnach mam TIME. Ok to jak dodam je jako seku...   27.08.2015, 19:40:34
- - nospor   smallint ?   27.08.2015, 19:42:50
- - peklo   chyba zza mały zakres bo może byc 24h czyli 86400....   27.08.2015, 19:45:29
- - nospor   No to dostosuj ten INT do max jaki mozesz miec. Zo...   27.08.2015, 19:49:02
- - peklo   nie to sobie dobiore. generalnie chodziło mi o to ...   27.08.2015, 19:52:30
- - nospor   CytatCzy time czy może jakiś int.Jaki typ to przec...   27.08.2015, 19:56:44
- - peklo   no właśnie ,a jak będzie 16:47 ? Co wtedy   27.08.2015, 19:58:41
- - nospor   To wtedy 16*3600+47*60.. no wiesz, podstawy matema...   27.08.2015, 20:00:37
- - peklo   nie no z tym 60 to juz wpadłeem wcześniej. Tylko t...   27.08.2015, 20:03:18
- - nospor   explode a nie implode   27.08.2015, 20:07:25
- - peklo   oj jasne że explode A jak to rozbić?   27.08.2015, 20:09:06
- - nospor   kurcze.... zajrzyj do manuala... tam masz napisane...   27.08.2015, 20:10:23
- - peklo   explode to jaa już uzywałem ale nie wiem czy porad...   27.08.2015, 20:12:46
- - nospor   A co za roznica czy w petli czy nie?? Dla explode ...   27.08.2015, 20:18:46
- - peklo   e no wole w domu. Cus takiego $nadgodziny=exp...   27.08.2015, 20:23:44
- - nospor   A masz zmienna $nadgodziny ktora jest w forma...   27.08.2015, 20:26:25
- - trueblue   peklo, czemu tą wartość wstawiasz do bazy? Możesz ...   27.08.2015, 20:26:40
- - peklo   trueblue jak mam podgląd dodanego formularza to mi...   27.08.2015, 20:31:14
- - trueblue   peklo, może to Ci coś podpowie: http://www.w3resou...   27.08.2015, 20:34:11
- - peklo   żle napisałem trueblue w poprzednim poście ale już...   27.08.2015, 20:41:27
- - trueblue   Rozumiem Cię doskonale, ale może jeszcze spróbuję ...   27.08.2015, 20:45:52
- - peklo   próbowałem zapytaniem juz robic wcześniej podczas ...   27.08.2015, 20:54:52
- - trueblue   [SQL] pobierz, plaintext SELECT rozp_pracy,godz_po...   27.08.2015, 21:02:15
- - peklo   błędu w zapytaniu nie ma poprostu daje rozp_prac...   27.08.2015, 21:04:31
- - trueblue   Cytat(peklo @ 27.08.2015, 22:04:31 ) ...   27.08.2015, 21:09:35
- - peklo   hmm to ja nie wiem o co kaman. To zapytanie daje w...   27.08.2015, 21:12:32
- - trueblue   Na pewno masz typy TIME?   27.08.2015, 21:18:48
- - peklo   na 100% zrobiłem tak [SQL] pobierz, plaintext ...   27.08.2015, 21:45:33
- - trueblue   Chodzi o to abyś nie dodawał do bazy tylko z niej ...   27.08.2015, 21:52:57
- - peklo   no nie za bardzo. Na jednej karcie na być godzina ...   27.08.2015, 21:55:53
- - trueblue   Utworzyłbym pole typu boolean, rozliczone 0/1. Ale...   27.08.2015, 21:59:13
- - peklo   chyba że dodam nową zmienna rozliczone i dam 0 lub...   27.08.2015, 22:00:56


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: 14.10.2025 - 07:29