簡體   English   中英

19:59:00之后無法在php中使用mysql插入時間

[英]Unable to insert time after 19:59:00 in mysql using php

我無法插入20:00:00或更多的時間值。 時間為00:00:00到19:59:00時效果很好。 我無法確定它能正常工作19個小時。 我是新來的開發者。 我已經盡力弄清楚了。 但是我不能。 請幫我。 我在下面添加了html,php編碼和mysql'attendance'表。

 CREATE TABLE IF NOT EXISTS `attendance` (
    `id` int(11) NOT NULL,
      `shift_start_time` time NOT NULL,
      `empid` varchar(50) NOT NULL,
      `user` varchar(100) NOT NULL,
      `checkin` datetime(6) NOT NULL,
      `checkout` datetime NOT NULL,
      `worked_hours` time NOT NULL,
      `latehours` time NOT NULL,
      `late_seconds` int(11) NOT NULL,
      `Break1` time NOT NULL,
      `Break1out` time NOT NULL,
      `Break1hours` time NOT NULL,
      `Break2` time NOT NULL,
      `Break2out` time NOT NULL,
      `Break2hours` time NOT NULL,
      `Lunch_Break` time NOT NULL,
      `Lunch_Breakout` time NOT NULL,
      `Lunch_Breakhours` time NOT NULL,
      `A_Break` time NOT NULL,
      `A_Breakout` time NOT NULL,
      `A_Breakhours` time NOT NULL,
      `A_BreakReason` varchar(1000) NOT NULL,
      `totalbreak` time NOT NULL,
      `workhrs` time NOT NULL,
      `meeting_hours` time NOT NULL,
      `checkindate` date NOT NULL
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=350 ;




<form action="checkincheckout.php" method="post"><table><tr><td><label  for="line_items"                                                                    >
                                                                  <p class="text-info">Check In</p>
                                                                  </label><input type="radio" class="form-control" placeholder="Enter Project Name" name="checkin" value="<?php 
                                                                                                echo date('Y-m-d H:i:s');?> " >
    </td><td><label  for="line_items"                                                                    >
                                                                  <p class="text-info">Check Out</p>
                                                                  </label><input type="radio" class="form-control" placeholder="Enter Project Name" name="checkout" value="<?php echo date('Y-m-d H:i:s');?>"></td></tr><tr><td colspan="2"><input type="Submit" class="btn btn-primary" value="Submit" name="submit" >


    </script></td></tr></table></form>

//checkingcheckout.php

     if(isset($_POST['checkin']))
        {
            //$checkin =date("Y-m-d H:i:s", $_POST['checkin']);
                 $checkin = $_POST['checkin'];
                 $checkindate=substr('$checkin',0,10);

                 if($checkin>$_SESSION['START_TIME'])
                 {
                    $timeDiff=strtotime($checkin)-strtotime($_SESSION['START_TIME']);



    $init = $timeDiff;
    $hours = floor($init / 3600);
    $minutes = floor(($init / 60) % 60);
    $seconds = $init % 60;

    echo "$hours:$minutes:$seconds";
    $ela=$hours.'+'.$minutes.'+'.$seconds;

                      $sql = mysql_query("INSERT INTO `attendance`(shift_start_time,empid,user,checkin,latehours,late_seconds,checkindate) VALUES ('".$_SESSION['START_TIME']."','".$_SESSION['USERNAME']."','".$_SESSION['NAME']."','$checkin','$ela','$timeDiff','$checkindate')"); 
                 }

在我們插入表格之前,應該將php時間轉換為我的sql兼容時間格式。 您可以使用以下代碼

$date = DateTime::createFromFormat( 'H:i A', $php_time);
$sql_time = $date->format( 'H:i:s');
  • $ php_time-PHP中的時間格式

  • $ sql_time-MySQL中的時間格式

所以您需要將時間格式從PHP轉換為MYSQL

這是示例,我已經測試過

$time_from_input = date("y-m-d", (strtotime($_POST['time']));

現在,這次將轉換為MYSQL格式。

反之亦然。 到PHP的MYSQL時刻,我們需要更改要顯示的格式。 只需搜索或使用date()函數即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM