добавив время взрыва в php - PullRequest
0 голосов
/ 05 января 2019

У меня есть таблица служб, поля: Proc_ID, Proc_No, Proc_Services, Proc_time и Proc_Price. Я хочу добавить все время процедуры (Proc_Time) служб.

Вот код

If
00:15:00

00:30:00

Ответ 00:45:00 .. но мой код получил неправильный ответ. если время начала 9:00 утра, а услуги 1 имеют 00:15:00, а услуги 2 - 00:30:00, то конец бронирования будет 9:45.

$dt = $_POST['restime'];
$p1 = $_POST['dermaproc'];

$tmp = "";

foreach ($p1 as $key) {
    $tmp .= $key;
}

$today = strtotime("TODAY");

 $sql3 = "SELECT * FROM services WHERE Proc_ID = '$tmp' ";
 $res3 = $conx->query($sql3);
 $row3 = $res3->fetch_assoc();

      $explode = explode(",", $tmp); 
      foreach ($explode as $key1) {

 $sql4 = "SELECT Proc_Time FROM services WHERE Proc_ID = '$key1'";

      $res4 = $conx->query($sql4);
      $row4 = $res4->fetch_assoc();
      $pt = $row4['Proc_Time'];
      $m_time1 = strtotime($dt) - $today;
      $m_time2 = strtotime($pt) - $today;
      $m_total = $m_time1 + $m_time2 + $today;
      $etime = date('h:i:s', $m_total);

      echo    $etime;

1 Ответ

0 голосов
/ 05 января 2019

Вам нужно сложить все время для каждой процедуры, а затем добавить это к времени начала, так что это циклически повторяет каждую процедуру (я предполагаю, что $_POST['dermaproc'] содержит список процедур), это просто добавляет время для каждой процедуры в цикле. После цикла добавляется общее время ко времени начала встречи.

$dt = $_POST['restime'];
$p1 = $_POST['dermaproc'];
$today = strtotime("TODAY");

$m_total = 0;
foreach ($p1 as $key1) {
    $sql4 = "SELECT Proc_Time FROM services WHERE Proc_ID = '$key1'";
    $res4 = $conx->query($sql4);
    $row4 = $res4->fetch_assoc();
    $m_total += strtotime($row4['Proc_Time']) - $today;
}
$etime = date('H:i:s', $m_total+strtotime($dt));

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