Я не уверен, что следую вашему коду ...
Ваш HTML имеет:
value="checked"
Это означает, что если пользователь установит флажок и загрузит форму, ему будет присвоено этому полю значение «флажок» (в отличие от значения, скажем, «мужской»).
Так как в качестве значений у вас есть только эти значения, то в таблицу никогда не будет вставлено что-либо как "непроверенное", также ваше поле ввода имеет вывод непроверенной и проверенной БД, просто находящийся там без какого-либо присвоенного ему атрибута. Это намеренно? Это встроено в значение БД, в противном случае у вас есть что-то с эффектом:
<input type="checkbox" name="notice" value="checked" "Foo" />
Что на самом деле ничего не даст, по крайней мере, ничего не поможет?
И наконец, в вашем результате выборки, если я правильно читаю, у вас есть:
$checkedValue = $row['checked'];
Это означает, что если у вас есть несколько результатов, вы присваиваете только последнюю строку с этим значением, поэтому, если у вас по какой-либо причине будет пустая строка внизу, это даст вам пустые переменные и ошибки не будет. Возможно, вы хотели присвоить это массиву? Или, по крайней мере, сделайте проверку на счетчик результатов, например mysql_num_rows (), чтобы убедиться, что это только первая строка (или только одна строка, даже). Вы даже можете добавить отказоустойчивый и заставить его завершить цикл while после одной итерации, на всякий случай.
И, наконец, ваш код будет намного чище и проще для написания и чтения, если вы используете Синтаксис Heredoc он же EOD. При этом вам не придется комментировать все ваши двойные кавычки, и вы все равно можете использовать встроенные переменные.