热搜:NVER node 开发 php

php 怎么按照指定ID修改数据库内数据

2024-08-20 10:50:01
php 怎么按照指定ID修改数据库内数据

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"].'
';
echo '未打卡时间:'.$row["wdktime"].'
';
echo '未打卡原因:'.$row["wdkyy"].'
';
echo '部门责任人审核:'.$row["bmshtime"].'  ';
echo '人事行政部/总经理审批:'.$row["rsshtime"].'
';
}
echo '

 ';
echo '';
echo ''; 
echo '
';
echo '

';
}
$sql='UPDATE wdksm SET 
rsshtime = \'' . $_POST['test']  . '\'
WHERE id = \'' .$id . '\' ';
mysql_query($sql);

?>


回复讨论(解决方案)

ID是数字不用加 ' ' ?

你的update语句执行不了嘛?看上去没什么问题

update 你的表名 set 要更改的列名 = 要更改的值 where id = 你指定的ID号

我要是按照上面列的几条数据,点每条数据下面的审核,会将数据“审核”写入当前那条数据,现在写入的数据都默认写到最下面的那条数据里面去了

你的表单是这样产生的

echo '
';echo '';echo ''; echo '
';
里面并没有 id 的值
所以提交的数据不包含唯一识别 id

而你 sql 指令中的 id 是产生列表时的最后一个 id,当然就不对啦

另外你的 sql 指令的书写也很怪异
这样写比较好
$sql = "UPDATE wdksm SET rsshtime = '$_POST[test]' WHERE id = '$_POST[id]'";

$sql = "UPDATE wdksm SET rsshtime = '$_POST[test]' WHERE id = '$_POST[id]'";
这个代码放进去连写入都写不了,我需要怎么选择一个id,并且把数据写入这个id里面,不影响其他id的数据

while($row = mysql_fetch_assoc($query))
{
$id=$row['id'];            
echo '日期:'.$row["time"].'  ';
echo '部门:'.$row["bumen"].'  ';
echo '姓名:'.$row["name"].'  ';
echo ' 职务:'.$row["zhiwu"].'
';
echo '未打卡时间:'.$row["wdktime"].'
';
echo '未打卡原因:'.$row["wdkyy"].'
';
echo '部门责任人审核:'.$row["bmshtime"].'  ';
echo '人事行政部/总经理审批:'.$row["rsshtime"].'
';
echo '

 ';
echo '';
echo '';
echo ''; 
echo '
';
echo '

';
}

while($row = mysql_fetch_assoc($query))
{
$id=$row['id'];            
echo '日期:'.$row["time"].'  ';
echo '部门:'.$row["bumen"].'  ';
echo '姓名:'.$row["name"].'  ';
echo ' 职务:'.$row["zhiwu"].'
';
echo '未打卡时间:'.$row["wdktime"].'
';
echo '未打卡原因:'.$row["wdkyy"].'
';
echo '部门责任人审核:'.$row["bmshtime"].'  ';
echo '人事行政部/总经理审批:'.$row["rsshtime"].'
';
echo '

 ';
echo '';
echo '';
echo ''; 
echo '
';
echo '

';
} 楼上那位大哥,按照你那行代码加进去也不行啊