Jquery或JavaScripts在html表中添加计算列
我正在用PHP和Mysql生成一个HTML表,查询表如下所示 我想用Jquery或Javascripts添加另一列,将第一行的Statestarttime列与第二行的Stateendtime列相减,以找出时间差 预期结果的例子Jquery或JavaScripts在html表中添加计算列,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在用PHP和Mysql生成一个HTML表,查询表如下所示 我想用Jquery或Javascripts添加另一列,将第一行的Statestarttime列与第二行的Stateendtime列相减,以找出时间差 预期结果的例子 StateStarTtime StateEndTime Min Difference 03:57 03:58 00:03 03:53 03:54 00:04 03:46
StateStarTtime StateEndTime Min Difference
03:57 03:58 00:03
03:53 03:54 00:04
03:46 03:49 null
在第一行中,我可以找到很多关于从StateEndTime中减去StateStarTtime的示例和帮助,但我想从StateEndTime的第二行单元格值中减去StateStarTtime的第一行单元格值,以找出细微的差异
我是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;?>
您可以简单地使用它在PHP中完成它
<td align="Center"><?php echo($row['StateEndtime'] - $row['StateStarTtime ']) ?></td>
尝试使用另一个循环在数组中存储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;?>
如果你愿意;重新生成表格形式的PHP数据,在那里进行计算比在客户端JS中进行计算更有意义。我也问过Q,但是不能正常工作,这会给我在同一行中StateStarTtime和StateEndtime的微小差异,我想从StateEndtime的第二行单元格值中减去StateStarTtime的第一行单元格值,依此类推,以找出微小差异。我遇到了致命错误:无法使用临时值写入上下文中的表达式我遇到致命错误:无法在第2行的写入上下文中使用临时表达式抱歉!有输入错误,请检查我编辑的答案现在我可以看到页面,但表格尚未创建我还修复了$endTime[$i+1]中缺少的$endTime,但运气不好
<?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;?>