我想根据日期批准休假申请,例如如下:
echo "<select name='app_status[]' required>
<option value='' selected>Pending</option>
<option value='1'>Approve</option>
<option value='2'>Reject</option></select>";
$app_status = array();
if(is_array($app_status)) {
foreach($_POST['app_status'] as $key1=>$value1) {
$app_status[]=$value1;
}
}
for($loop = 0; $loop < count($app_status); $loop++) {
if($app_status[$loop]=="" || $app_status[$loop]==null)
$error=1;
}
if(isset($error))
$error=1;
else
$error=0;
if($error==0) {
for ($i = 0; $i < count($app_status); $i++) {
$str = $app_status[$i];
$sql= "UPDATE leaves_apply SET app_status ='$str' WHERE app_id='$app_id'";
$query2 = mysqli_query($sql);
}
}
例如,如果我批准12/8/2017 - 15/8/2017除了2017年4月8日的叶子,我会得到这样的输出 11112 当我检查时数据库,列app_status只会更新2,就好像它只读取最后一个数据而不是前四个数据。如果可能,我希望数据 11112 在 app_status列中更新 app_id no 1357 。我不确定这是否正确,请帮助我,因为我是新手。谢谢。
答案 0 :(得分:0)
我认为这种修改应该按照您的意愿行事......
if($error==0) {
// Declare the string for the app_status
$str = "";
// Loop though the statuses and put together the statuses
for ($i = 0; $i < count($app_status); $i++) {
$str .= $app_status[$i];
}
// Update the database record
$sql= "UPDATE leaves_apply SET app_status = '$str' WHERE app_id='$app_id'";
$query2 = mysqli_query($sql);
}
请记住转义数据库查询以防止SQL注入。