php 怎么按照指定ID修改数据库内数据
<?php
$query = mysql_query('SELECT * FROM wdksm ');
while($row = mysql_fetch_assoc($query))
{{
$id=$row['id'];
echo '日期:'.$row["time"].' ';
echo '部门:'.$row["bumen"].' ';
echo '姓名:'.$row["name"].' ';
echo ' 职务:'.$row["zhiwu"].'<br />';
echo '未打卡时间:'.$row["wdktime"].'<br />';
echo '未打卡原因:'.$row["wdkyy"].'<br />';
echo '部门责任人审核:'.$row["bmshtime"].' ';
echo '人事行政部/总经理审批:'.$row["rsshtime"].'<br />';
}
echo '<form name="bc" method="post" action=""> ';
echo '<input id="test" name="test" type="text" value="审核" />';
echo '<input type="submit" value="审核"/>';
echo '</form>';
echo '<hr /><br />';
}
$sql='UPDATE wdksm SET
rsshtime = \'' . $_POST['test'] . '\'
WHERE id = \'' .$id . '\' ';
mysql_query($sql);
?>

------解决思路----------------------
你的表单是这样产生的
echo '<form name="bc" method="post" action=""> ';里面并没有 id 的值
echo '<input id="test" name="test" type="text" value="审核" />';
echo '<input type="submit" value="审核"/>';
echo '</form>';
所以提交的数据不包含唯一识别 id
而你 sql 指令中的 id 是产生列表时的最后一个 id,当然就不对啦
另外你的 sql 指令的书写也很怪异
这样写比较好
$sql = "UPDATE wdksm SET rsshtime = '$_POST[test]' WHERE id = '$_POST[id]'";
------解决思路----------------------
while($row = mysql_fetch_assoc($query))
{
$id=$row['id'];
echo '日期:'.$row["time"].' ';
echo '部门:'.$row["bumen"].' ';
echo '姓名:'.$row["name"].' ';
echo ' 职务:'.$row["zhiwu"].'<br />';
echo '未打卡时间:'.$row["wdktime"].'<br />';
echo '未打卡原因:'.$row["wdkyy"].'<br />';
echo '部门责任人审核:'.$row["bmshtime"].' ';
echo '人事行政部/总经理审批:'.$row["rsshtime"].'<br />';
echo '<form name="bc" method="post" action=""> ';
echo '<input id="test" name="test" type="text" value="审核" />';
echo '<input type="hidden" name="id" value="'.$id.'">';
echo '<input type="submit" value="审核"/>';
echo '</form>';
echo '<hr /><br />';
}