Я создаю таблицу HTML с запросом PHP и Mysql (таблица выглядит так https://ibb.co/2k8XbbZ)
DB ID EmpID Date Username Computername State Minutesatstate Statestarttime Stateendtime Timestamp
704634 303836 02-06-2019 user PC-818 Idle 2 13:44 13:46 2019-02-06 13:46:46
704599 303836 02-06-2019 user PC-818 Active 16 13:28 13:44 2019-02-06 13:44:46
704340 303836 02-06-2019 user NIPL-1220 Active 2 13:27 13:28 2019-02-06 13:28:48
704313 303836 02-06-2019 user PC-818 Active 13 13:15 13:27 2019-02-06 13:27:31
Я хочу добавить еще один столбец с Jquery или Javascripts, чтобы вычесть столбец Statestarttime из 1-й строки со столбцом Stateendtime из 2-й строки, чтобы узнать разницу во времени
пример ожидаемых результатов
StateStarTtime StateEndTime Min Difference
03:57 03:58 00:03
03:53 03:54 00:04
03:46 03:49 null
Я могу найти так много примеров и помощи для вычитания StateStarTtime из StateEndTime в первой строке, но я хочу вычесть значение ячейки 1-й строки StateStarTtime из значения ячейки 2-й строки StateEndTime, чтобы найти разницу в минутах.
Я новичок в HTML и PHP, но совершенно не знаком с JS/JQ, поэтому любое направление того, как я могу это сделать, очень ценится. ниже приведены фрагменты кодов PHP и HTML, которые я использую. дайте мне знать, если вы хотите полный код.
<?php while($row = mysqli_fetch_array($search_result)):?>
<tr>
<td align = "Center"><?php echo $row['id'];?></td>
<td align = "Center"><?php echo $row['EmpID'];?></td>
<td align = "Center"><?php echo $row['Date'];?></td>
<td align = "Center"><?php echo $row['Username'];?></td>
<td align = "Center"><?php echo $row['Computername'];?></td>
<td align = "Center"><?php echo $row['State'];?></td>
<td align = "Center"><?php echo $row['MinutesatState'];?></td>
<td align = "Center"><?php echo $row['StateStarttime'];?></td>
<td align = "Center"><?php echo $row['StateEndtime'];?></td>
<td align = "Center"><?php echo $row['Timestamp'];?></td>
</tr>
<?php endwhile;?>
Я открыт для предложений о том, как я могу это сделать. Я также задал вопрос об этом, но не смог заставить его работать правильно (stackoverflow.com/questions/54474772/…)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


вы можете просто сделать это в PHP, используя его
<td align = "Center"><?php echo($row['StateEndtime'] - $row['StateStarTtime ']) ?></td>
Это даст мне минутную разницу StateStarTtime и StateEndtime в той же строке, которую я хочу вычесть из значения ячейки 1-й строки StateStarTtime из значения ячейки 2-й строки StateEndTime и так далее, чтобы найти минутную разницу.
попробуйте использовать сохранение StateStarTtime и StateEndTime в массиве, используя другой цикл, а затем вычислите его следующим образом, потому что вы не можете получить значение следующей строки в одном цикле
<?php while($row = mysqli_fetch_array($search_result)):?>
<?php $startTime[] = $row['StateStarttime'];?>
<?php $endTime[] = $row['StateEndtime'];?>
<?php endwhile;?>
<?php
$i = 0;
while($row = mysqli_fetch_array($search_result)):?>
<tr>
<td align = "Center"><?php echo $row['id'];?></td>
<td align = "Center"><?php echo $row['EmpID'];?></td>
<td align = "Center"><?php echo $row['Date'];?></td>
<td align = "Center"><?php echo $row['Username'];?></td>
<td align = "Center"><?php echo $row['Computername'];?></td>
<td align = "Center"><?php echo $row['State'];?></td>
<td align = "Center"><?php echo $row['MinutesatState'];?></td>
<td align = "Center"><?php echo $row['StateStarttime'];?></td>
<td align = "Center"><?php echo $row['StateEndtime'];?></td>
<td align = "Center"><?php echo $row['Timestamp'];?></td>
//your calculation goes here like diff
<td align = "Center">
<?php
$mycalc = ($startTime[$i] - endTime[$i+1]);
echo $mycalc;
?>
</td>
</tr>
$i++;
<?php endwhile;?>
Я получаю фатальную ошибку: невозможно использовать временное выражение в контексте записи
Я получаю фатальную ошибку: невозможно использовать временное выражение в контексте записи (во 2-й строке <?php startTime[] = $row['StateStarttime'];?>)
Извините! есть опечатка, пожалуйста, проверьте мой отредактированный ответ
Теперь я могу видеть страницу, но таблица не создана. Я также исправил отсутствующий $ в $endTime[$i+1]), но не повезло
Если вы создаете данные PHP в виде таблицы, было бы далеко более целесообразно выполнять вычисления там, а не в JS на стороне клиента.