Этот ответ поддерживает 2 проблемы. Во-первых, OP имеет одно и то же поле имени для каждой итерации в while l oop. Пользователь нажимает флажок, все флажки будут отмечены. РЕШЕНИЕ сделайте флажки уникальными. второй - устанавливает флажок после поиска в SQL, имея оператор elseif и эхо, один из двух выходов, один не проверен, а другой проверен.
Исходный код
while ($row = mysqli_fetch_array($result)){
if(row[0]=='Not Approve'){
echo "<input type='checkbox' name='check_approval[]' value='approve'>";}
}
if(isset($_POST['check_approval']){echo "checked";}
на это
$x=0;
while ($row = mysqli_fetch_array($result)){
$x++;
if(row[0]=='Not Approve'){
// condition means to be not checked
echo "<input type='checkbox' name='check_approval".$x."' value='approve'>";
}
elseif(isset($_POST['check_approval']){
// condition means to be checked
echo "<input type='checkbox' name='check_approval".$x."' value='approve' checked>";
}