Jquery或JavaScripts在html表中添加计算列

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

我正在用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             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;?>