0

我有一个脚本,它搜索数据库并显示其上司要标记其出勤的用户列表。主管标记考勤并填写备注并提交表格。

我可以在 mysql 数据库中插入考勤,但备注栏没有更新。

请指导。

表单脚本

<td id="present">
<input type="radio" name="present[<? echo $rows['id']; ?>]" checked="checked"     value="P">P
</td>
<td id="absent">
<input type="radio" name="present[<? echo $rows['id']; ?>]" value="A">A
</td>
<td id="tour">
<input type="radio" name="present[<? echo $rows['id']; ?>]" value="T">T
</td>
<td id="leave">
<input type="radio" name="present[<? echo $rows['id']; ?>]" value="L">L
</td>
</td>
<td id="hpl">
<input type="radio" name="present[<? echo $rows['id']; ?>]" value="H">H
</td>
<td width="30%" id="remark">
<input type="text" name="remark[]" />
</td>
</tr>
<?php  }?>
<?php  }?>
<tr>
<td colspan="7" style="vertical-align:middle; text-align: center;"><br><br>
<input id="Submit" type="submit" name="Submit" value="Mark Attendance" style="text-    align: center; background-color: #000000; color: #ffffff; border: 1px #000000 solid;">
</td>

和mysql更新脚本

foreach($_POST['present'] as $id => $value)
                   {
                         $getSets = mysql_query("SELECT * FROM users WHERE     id='".$id."'");
$ausers = mysql_fetch_array($getSets);
$class=$ausers['user'];
$section=$ausers['email'];
$branch=$ausers['branch'];
$date1=$_POST['date'];
$date = date("Y-m-d", strtotime($date1));
$sql = "INSERT INTO statistics(user, wquestions, date, att, marker, branch, remark) VALUES ('$class', '$section', '$date', '".$value."','".USERNAME."', '$branch', '".$remark."') ";
$result = mysql_query($sql);
4

2 回答 2

1

据我所知,您的脚本不处理来自$_POST['remark']. 您只处理$_POST['present']POST 的一部分。请记住,每个输入的名称在发送时直接对应于 POST 的数组索引。为了更轻松地可视化您发布的内容以及数据的发送方式,您可以执行以下操作:

echo '<pre>';
print_r($_POST);
echo '</pre>';

根据您的代码,“备注”是一个数组。名称中的括号[ ]您需要以下内容:

foreach ($_POST['remark'] as $k => $r) {
   // Insert the remark data
}

否则,如果只有 1 条备注,则应将其重命名为“备注”,而无需[ ].

于 2013-11-02T04:14:33.400 回答
0

您需要将您的 INSERT 查询编辑为:

$sql = "INSERT INTO statistics(user, wquestions, date, att, marker, branch, remark)   VALUES ('$class', '$section', '$date', '".$value."','".USERNAME."', '$branch', '".$_POST['remark']."')";
$result = mysql_query($sql);
于 2013-11-02T04:58:31.947 回答