PHP, Javascript - запуск таймера из базы данных mySQLi с указанной датой - PullRequest
2 голосов
/ 16 марта 2019

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

Мой текущий раздел это:

<div class="card-body p-0">
  <div class="table-responsive">
    <table class="table m-0">
      <thead>
      <tr>
        <th># Ticket</th>
        <th>Technician</th>
        <th>Status</th>
        <th>Time elapsed from assigned time</th>
        <th>Assigned Time</th>
      </tr>
      </thead>
      <tbody>
       <?php
          $tickets = array();{
              $tickets = TicketData::getAllToDo();              
          }
          if (count($tickets) > 0) {
              // if there are tickets opened
          ?>
       <?php
          foreach ($tickets as $ticket) {
             $project = $ticket->getProject();
             $events = TicketData::getEvents();
          ?>
       <?php $ticketStatus = $ticket->getStatus()->name; ?>
       <tr>
         <td><a href="index.php?view=viewticket&id=<?php echo$ticket->id; ?>"><?php $ticketId=$ticket->id; echo $ticketId; ?></a></td>
         <td><?php echo $ticket->getUser()->name." ".$ticket->getUser()->lastname; ?></td>
         <td>
          <?php if($ticketStatus=="In Process"){
          echo "<span class='badge badge-warning'>".$ticketStatus."</span>";
          }elseif ($ticketStatus=="Pending") {
             echo "<span class='badge badge-danger'>".$ticketStatus."</span>";
          }
          ?>
        </td>
        <td>
          <?php
            $newCon = new Database();
            $con = $newCon->connect();
            $assignedToTecnico = "SELECT id, SUM(TIMESTAMPDIFF(MINUTE,convert(time_at,time),convert(visit_hour_in, time))) as tiempo, (TIMESTAMPDIFF(MINUTE,convert(time_at,time),convert(visit_hour_in, time))/COUNT(tecnico_id)) as average FROM ticket where id=".$ticketId;
            $query = $con->query($assignedToTecnico);   
            $row = $query->fetch_row();
            $time= $row[2];
            $timesec= ($time)*60;
            $days = floor($timesec / (60 * 60 * 24));
            $timesec -= $days * (60 * 60 * 24);
            $hours = floor($timesec / (60 * 60));
            $timesec -= $hours * (60 * 60);
            $minutes = floor($timesec / 60);
            $timesec -= $minutes * 60;
            $seconds = floor($timesec);
            $timesec -= $seconds;
            if ($days==0 && $hours==0 && $minutes==0) {
               echo "The technician hasn't visited the client yet.";
            }else{ 
               echo "{$days} days, {$hours} hours, {$minutes} minutes.";
            }
            ?>
        </td>
        <td>
          <?php echo$ticket->time_at; ?>
        </td>
       </tr>
       <?php } ?>
       <?php
          } else {
              echo "<p class='alert alert-danger'>No hay tickets abiertos</p>";
          }
       ?>
      </tbody>
    </table>
  </div>
</div>

Я печатаю статическую таблицу прямо сейчас, и мой PHP-код скажет количество времени, прошедшее с момента назначения билета.

Однако нам бы хотелось, чтобы работал таймер, который останавливался всякий раз, когда техник включался, вместо текста The technician hasn't visited the client yet.

Я видел этот ответ на похожую проблему, и этот вопрос пытался решить проблему, о которой я говорю.

Я пытался с последним, и все, что я получаю в полях, это:

* * NaN тысяча двадцать-один * * тысяча двадцать две

Как мне этого добиться?

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