![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
witam
Mam oto taki kod który dodaje mi w pętli godziny do tabeli czas
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;
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
strtotime - strtotime da ci liczbe sekund czyli 14400 a nie 04:00 ...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
no bo tak mi daje i dzieliłem to przez 3600 itd itp ale czy ide w dobrum kierunku. Czy tą operacje daje w $stmt->bindValue czy może przed bindowaniem?
Ten post edytował peklo 27.08.2015, 19:33:16 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No wartosc ktorą bindujesz ma juz byc prawidlowa... no to chyba logiczne?
A poza tym czemy tych godzin nie trzymasz poprostu w bazie jako sekundy? Byloby o wiele latwiej cokolwiek potem z tym robic. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 22 Dołączył: 17.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
A kolumny jaki mają typ w bazie danych?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
w kolumnach mam TIME. Ok to jak dodam je jako sekundy to jaki najlepiej typ danych zastosować?
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
smallint ?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
chyba zza mały zakres bo może byc 24h czyli 86400. MEDIUMINT(5) ?
Ten post edytował peklo 27.08.2015, 19:46:59 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to dostosuj ten INT do max jaki mozesz miec. Zobacz w manualu jaki rozmiar jaki trzyma max i bedziesz wiedzial jaki dobrac.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
nie to sobie dobiore. generalnie chodziło mi o to jaki typ danych dobrać. Czy time czy może jakiś int. I druga sprawa. Jak w formularzu mam np. 16:00 to teraz tą wartość przy dodawaniu do tabeli, mam jak rozumiem pomnożyć X 3600 tak?
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Czy time czy może jakiś int. Jaki typ to przeciez ci podalem wczesniej piszac smallint wiec logiczne ze nie time.Cytat Jak w formularzu mam np. 16:00 to teraz tą wartość przy dodawaniu do tabeli, mam jak rozumiem pomnożyć X 3600 tak? No jesli w formularz nadal wspiujesz 16:00 to tak, przy zalozeniu ze nie bedzie minut (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
no właśnie ,a jak będzie 16:47 ? (IMG:style_emoticons/default/smile.gif) Co wtedy
|
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To wtedy 16*3600+47*60.. no wiesz, podstawy matematyki... (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
nie no z tym 60 to juz wpadłeem wcześniej. Tylko teraz zastanawiiam się jak to zapisać. Trzeba to jakoś rozbić implode?
gerneralnie wszystkie zmienne mogą byc jako TIME tylko te nadgodziny jako mediumint Ten post edytował peklo 27.08.2015, 20:04:31 |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
explode a nie implode
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
oj jasne że explode (IMG:style_emoticons/default/smile.gif) A jak to rozbić?
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
kurcze.... zajrzyj do manuala... tam masz napisane jak uzywac explode....
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
explode to jaa już uzywałem ale nie wiem czy poradze sobie w tej petli z tym
|
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A co za roznica czy w petli czy nie?? Dla explode to bez roznicy gdzie go uzywasz. Jak masz ochote to mozesz nawet go na Marsie uzywac
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
e no wole w domu. Cus takiego $nadgodziny=explode(':',$nadgodziny); ?
|
|
|
![]()
Post
#21
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A masz zmienna $nadgodziny ktora jest w formacie GG:mm (IMG:style_emoticons/default/questionmark.gif) Jak ta, to tak, Jak nie, to nie....
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
peklo, czemu tą wartość wstawiasz do bazy? Możesz przecież nadgodziny liczyć na bieżąco podczas zapytania.
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
trueblue jak mam podgląd dodanego formularza to mi zlicza na bierząco. Czyli odejmuje jedno od drugiego. Ale ja potrzebuje jeszcze dodatkowo wrzucic to oddzielnie jako inna zmienna do tabeli podczas dodawania formularza
Ten post edytował peklo 27.08.2015, 20:42:36 |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
peklo,
może to Ci coś podpowie: http://www.w3resource.com/mysql/date-and-t...ff-function.php + ew. http://www.w3schools.com/sql/func_date_format.asp |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
żle napisałem trueblue w poprzednim poście ale już poprawiłem post23. Musze zrobić tak jak pisze nospor czyli rozbić to na sekundy i dodać do tabeli jako nowa zmienna nadgodziny.
Wolałbym dodać to jako całe godziny ale chyba to nie wyjdzie. Ale mam jakąś ciemnośc i nie kumam jak mam rozbić te dwie zmienne , odjąc jedna od drugiej i pożniej to dodać Ten post edytował peklo 27.08.2015, 20:47:08 |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
próbowałem zapytaniem juz robic wcześniej podczas dodawania do bazy ale coś mi nie wychodziło:) Ale nie wiem czemu bo mam taki wynik H:00
czyli 09:00--8:00 powinno byc 1, a jest 0. Moze chodzi o strefe czasową? Ten post edytował peklo 27.08.2015, 20:55:16 |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
błędu w zapytaniu nie ma poprostu daje
rozp_pracy godz_powr nadgodziny 08:00:00 09:00:00 00:00 Może szczegół tkwi w tym że mam TIME a nie np TIMESTAMP Ten post edytował peklo 27.08.2015, 21:06:02 |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
hmm to ja nie wiem o co kaman. To zapytanie daje w konsoli SQL
Ten post edytował peklo 27.08.2015, 21:13:52 |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Na pewno masz typy TIME?
|
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to abyś nie dodawał do bazy tylko z niej wyciągał w razie potrzeby.
|
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
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
|
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Utworzyłbym pole typu boolean, rozliczone 0/1.
Ale jak Ci wygodniej. |
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
chyba że dodam nową zmienna rozliczone i dam 0 lub 1.
o o tym samym napisaliśmy w tym samym czasie:) Dzieki za pomoc Trueblue ja juz ide spać. Dzieki Ten post edytował peklo 27.08.2015, 22:02:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 12:34 |