更新两个 MySQL 列


updating two mysql columns

我有一个脚本,可以搜索数据库并支付由其主管标记其出勤的用户列表。主管标记出勤并填写备注并提交表格。

我能够在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);

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

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

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

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

否则,如果只有 1 个备注,则应重命名为"备注"而不带[ ]

您需要

将插入查询编辑为:

$sql = "INSERT INTO statistics(user, wquestions, date, att, marker, branch, remark)   VALUES ('$class', '$section', '$date', '".$value."','".USERNAME."', '$branch', '".$_POST['remark']."')";
$result = mysql_query($sql);