Как определить, находится ли введенное время в каком-либо временном диапазоне от времени начала и окончания базы данных? - PullRequest
0 голосов
/ 18 марта 2020

Я хочу проверить, существует ли указанное время начала и время, введенное пользователем, между временем начала и временем окончания базы данных, если оно находится между временным диапазоном, то только те значения записи должны суммироваться и вычитаться из общего суммирования Я написал один запрос, чтобы получить всю запись из базы данных для определенного идентификатора и даты, и другой запрос, чтобы получить введенное пользователем время начала и окончания. Это дало мне результат, но оно заменяет предыдущее значение. Я хочу добавить все значения, для которых выполняется условие.

Согласно снимку экрана, когда пользователь вводит время с 09:00 до 09:30. (что удовлетворяет условию), 30 минут вычитаются, когда пользователь вводит время с 11:45 до 12:00 (что снова удовлетворяет условию), 15 минут вычитается, но не предыдущие 30 минут. где это должно было быть вычтено 45 минут.

$q9 = "SELECT * from dp_production where op_id='$oper' AND date1='$dt'";
 foreach ($dbo->query($q9) as $row9)
 {
	 $ig_st=$row9['start'];
	 $startdb = date("H:i", strtotime("$ig_st"));

	 $ig_end=$row9['endt'];
	 $enddb = date("H:i", strtotime("$ig_end"));

	 $get_st = $_GET['start'];
	 $getst = date("H:i", strtotime("$get_st"));
	 $get_et = $_GET['end'];
	 $getet = date("H:i", strtotime("$get_et"));

	 if(($startdb<$getet)&&($getet<$enddb)) 
	{
	     $sq3 = mysql_query(" SELECT *,SUM(shift_time) as tt1,SUM(ot_time) as tt2 ,SUM(lunch_br) as tt3 from dp_production where op_id='$oper' AND date1='$dt' AND start='$get_st' AND endt='$get_et'");
	     while ($row16=mysql_fetch_array($sq3))
	     {
	          $ig_sft1=$row16['tt1'];
	          $ig_br1=$row16['tt2'];
	          $ig_ot1=$row16['tt3'];
	          $ig_total1 = $ig_sft1+ $ig_br1+ $ig_ot1;    
	    }
	}
}

As per the screenshot,the time 09:00 am-09:30 am lies between 08:30 am-11:30 am.Similarly 11:45 am-12:00pm lies between 11:30am-03:00pm.Therefore 45min(30+15min) should be substracted from 395mins(170+30+180+15).So that the total calculation would be 350 mins

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...