if(isset($_POST['Active']) && isset($_POST['Box'])){
$status= $_POST['activation'];
foreach($_POST['Box'] as $remove_ch){
$sqlupd= "update Pre_Enrollment set Status='$status' where Checkbox_Id='$remove_ch'";
$resultupdate = mysqli_query($database,$sqlupd) or die (mysqli_error($database));
if($resultupdate){
echo "<meta http-equiv=refresh content=\"0; URL=../Admin/admin pre-enrollment.php\">";
}
}
}
このコードから、ステータスを更新する必要がありますが、私は持っている最後の行だけを更新してください。それから、最初のものと同じ選択肢で残りを更新できます。ステータスがオプションリストであることを考慮してください。何が間違っているのか教えていただけますか?foreachループphpを使用して更新
'meta'の代わりに' header'を使います。ループ外の状態を設定します。ステータスフィールドは1つだけですか? 'in'を使用してすべてのレコードを一度に更新することができます。あなたはSQLインジェクションにオープンしており、クエリをパラメータ化しています。また、 'Active'と' activation'入力もありますか? – chris85
私にはアクティブなオプションと非アクティブなオプションがあります。 「アクティブ」はボタン、「アクティブ化」はオプションの名前です。 –
あなたのコードはSQLインジェクションに対して脆弱です。これを修正する必要があります。 – Enstage