2010-08-23 2 views
-3

Когда я удаляю категорию, которая была снята, из списка флажков флажок checked проверен, пока я не покину страницу и не вернусь к ней снова, но я хочу, чтобы этот флажок не был отмечен после его удаления, когда пользователь отправляет туда изменения. Как я могу это сделать?Вопрос PHP и MySQL

Вот мой код PHP.

for ($x = 0; $x < count($query_cat_id); $x++){ 
    if($query_cat_id[$x] == $cat['id']){ 
     echo 'checked="checked"'; 
    } 

    if(isset($cat_id)){ 
     if(!in_array($query_cat_id[$x], $cat_id)){ 
      $mysqli = mysqli_connect("localhost", "root", "", "sitename"); 
      $delete_id = mysqli_query($mysqli,"DELETE FROM articles_categories WHERE article_id = '" . $article_id . "' AND category_id = '". $query_cat_id[$x] ."'"); 
      if (!$delete_id) { 
       print mysqli_error($mysqli); 
      } 
     } 
    } 
} 
+0

Извините, очень непонятный вопрос. И что это связано с MySQL? – deceze

+0

Я бы подумал, что это [действительно похоже на ваш предыдущий вопрос] (http://stackoverflow.com/questions/3543904/php-mysql-function-delete-unchecked-categories-from-database-problem), просто вопрос получения соответствующих значений id ... –

+0

Этот вопрос неясен, но я хочу, чтобы флажок был снят после того, как категория была удалена, когда пользователь отправил туда изменения. – maximus

ответ

1

Похоже, что вы можете проверить, если ваш флажок предназначен для удаления, перед установкой его в зарегистрированном:

if(($query_cat_id[$x] == $cat['id']) && ($cat['id'] != $delete_id)){ 
    echo 'checked="checked"'; 
} 

Обратите внимание, как выражение if оператор возвращает true только тогда, когда $cat['id'] != $delete_id.

+0

мне придется изменить порядок кода, используя этот фрагмент, потому что я получаю сообщение об ошибке, используя его как есть. – maximus

1

Это более чем вероятно, будет перепроверено браузером. Если вы неявно заявляете checked = "checked", то единственное, что вы можете сделать, это написать инструкцию JavaScript, чтобы снять флажок, и молиться, чтобы они не отключили JavaScript. Или переименуйте поле.

Редактировать: Я думаю, что я совершенно неправильно понял, что вы говорите. Тем не менее, оставляя ответ на всякий случай.