我有一个搜索数据库的脚本,并发出其主管将由其主管标记的用户列表。主管标记出席并填写评论并提交表格。
我可以在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更新脚本</ p>
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);
答案 0 :(得分:1)
据我所知,您的脚本无法处理来自$_POST['remark']
的数据。您只处理POST的$_POST['present']
部分。请记住,每个输入的名称在发送时都直接对应于POST的数组索引。
为了更容易想象您发布的内容以及数据的发送方式,您可以执行以下操作:
echo '<pre>';
print_r($_POST);
echo '</pre>';
根据您的代码,“remark”是一个数组。名称[ ]
中的括号您需要以下内容:
foreach ($_POST['remark'] as $k => $r) {
// Insert the remark data
}
否则,如果只有一条评论,则应该在没有[ ]
的情况下重命名为“评论”。
答案 1 :(得分: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);