【发布时间】:2019-09-09 03:34:18
【问题描述】:
我有一组数据,第一列显示个人行程 ID,第二列显示开始时间,第三列显示结束时间。
数据存储在 SQL server 中,使用 PHP fetch 数组 while 循环生成。
我想知道如何使用 javascript 检查第一行的开始时间是否等于第二行的结束时间。如果检测到结束时间和开始时间不相等,我希望 javascript 能够打印“FALSE”。任何人都可以建议吗?谢谢
Image is the output I want to achieve
以下是我的代码:
$tripdate = date("Y-m-d", strtotime($displaydate));
$vesselcde = $vesselcode."%";
$query_get_activity = " SELECT a.trip_id, b.start_time, b.end_time, c.activity_name FROM TRIP a JOIN ACTIVITY b ON a.trip_no = b.trip_no
JOIN ACTIVITY_TYPE c ON b.activity_id = c.activity_id WHERE trip_date = ? and trip_id LIKE ? ORDER BY a.trip_id";
$params_get_activity = array($tripdate, $vesselcde);
$stmt_get_activity = sqlsrv_query($conn, $query_get_activity, $params_get_activity);
while( $row = sqlsrv_fetch_array( $stmt_get_activity, SQLSRV_FETCH_ASSOC) ){
$tripid = $row['trip_id'];
$starttime = $row['start_time']->format('H:i');
$endtime = $row['end_time']->format('H:i');
$activitytype = $row['activity_name'];
?>
<form class="form-inline">
<div class="timerows">
<div class="form-group">
<label for="tripid"><?php echo $tripid;?></label>
<input type="text" name="start_time" id="start_time" class="form-control mx-sm-3" value="<?php echo $starttime; ?>">
<input type="text" name="start_time" id="end_time" class="form-control mx-sm-3" value="<?php echo $endtime; ?>">
<!--<label for="activitytype"><?php echo $activitytype;?></label>-->
<input type="text" id="checktime" value="TRUE">
</div>
</div>
</form>
<?php
}
?>
【问题讨论】:
-
为什么不在创建输入的 PHP 循环中执行此操作。这些值已经在变量中,只需比较它们并根据需要设置值。
-
@Teemu 请正确阅读我的问题并点击图片查看我想如何比较结束时间和开始时间。您指的是在同一行中比较开始时间和结束时间。我想要的是比较第一行的开始时间和下一行的结束时间。
-
我的评论可能有点措辞不当,我的意思是这些值是可用的。您可以在循环之前读取第一行,并将值存储到变量中,这只是当前代码中的一个小调整。
-
还要注意,PHP 循环会创建多个具有相同 id 的元素,这使得 id 无用。
标签: javascript php sql arrays