所以这应该是我对整个项目的最后一个问题。我制作了员工考勤卡页面。效果很好。我正试图让它们成为每个考勤卡的复习/更改页面。基本上,初始审查页面会调出他们提交的时间表。他们选择"审阅"。它将ID号带到一个评论页面,我调用ID号将该考勤卡中的所有信息显示到新的考勤卡html.php表单中
不过,当我更新时,它不仅会保留echo'd值。这只是更新他们所做的任何更改,实际上删除了其他所有内容。下面是一个只有一个下拉列表(所有非下拉列表的更新都很好。这只是用于数据包含在DB中的下拉列表。
<select name="starttime" id="input_6" style="width:150px">
<option value="" selected><?php echo $stime ?></option>
<?php
$result = mysql_query("SELECT time FROM selTime ORDER BY id");
while($row = mysql_fetch_array($result)) {
echo "<option value='"" . $row['time'] . "'">" . $row['time'] . " </option>";
}
?>
</select>
那么这个代码会发生什么呢。当他们打开评论页面时,他们会在提交时看到自己的开始时间。如果他们不更改任何内容,而是在更改其他内容后推送提交。starttime实际上更新为空白。如果他们将启动时间更改为某个值,则会提交更改。在这段代码中,我可以更改哪些内容来提交echo'd值,而不仅仅是显示它吗?
我认为问题出在这行代码上:
<option value="" selected><?php echo $stime ?></option>
尽管您将其设置为"selected",但所选元素的值为"(空)。尝试将其更改为:
<option value="<?php echo $stime; ?>" selected="selected"><?php echo $stime; ?></option>
如果他们不更改此选择列表项,并直接提交页面,则所选项是第一个值为"的项,因此这将在数据库中更新为空白(null)。
你现在需要给你的第一件物品一个日期时间值。此处的代码:
<option value="DATETINMENOW" selected><?php echo $stime ?></option>