php 怎麼按照指定ID修改資料庫內資料
$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 '
';
}
$sql='UPDATE wdksm SET
rsshtime = \'' . $_POST['test'] . '\'
WHERE id = \'' .$id . '\' ';
mysql_query($sql);
?>
回複討論(解決方案)
ID是數字不用加 ' ' ?
你的update語句執行不了嘛?看上去沒什麼問題
update 你的表名 set 要更改的列名 = 要更改的值 where id = 你指定的ID號
我要是按照上面列的幾條資料,點每條資料下面的審核,會將資料“審核”寫入當前那條資料,現在寫入的資料都預設寫到最下面的那條資料裡面去了
你的表單是這樣產生的
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 '
';
}
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 '
';
}
樓上那位大哥,按照你那行代碼加進去也不行啊