MySql обновить PHP и JS

0

Привет У меня есть следующий код на моей странице change.php:

$con = mysql_connect("localhost","root","root");
 if (!$con)
   {
    die('Could not connect: ' . mysql_error());
    }

  mysql_select_db("FACT", $con);


  if($_POST['isChecked']==1)  // SEE THIS LINE PLEASE
  {
  mysql_query("UPDATE Orc SET CON = 'CHECKED'
  WHERE UID = '1'");
   }
  else
   {
   mysql_query("UPDATE Orc SET CON = 'NO'
   WHERE UID = '1'");
   } 

  mysql_close($con);

Эта страница вызывается из моего index.php, использующего jquery и:

  $.post("test.php", { isChecked:$('#checkbox_id').attr('checked') } );

Он отлично подходит для снятия флажка. Мне все еще нужно вручную обновить страницу, чтобы изменения произошли в БД, и я не могу изменить окно обратно на выбранный...

Мне не нравится это, пожалуйста, помогите.

Спасибо.

  • 0
    Вы уверены, что этот .post вызывается, когда пользователь нажимает флажок?
  • 0
    Должно быть, поскольку БД обновляется с «Проверено» на «НЕТ», если JS не работает, я никогда не вызывал страницу change.php. Тем не менее я не знаю, как отлаживать JS.
Теги:
database

2 ответа

1

Чтобы обновить страницу без обновления, вам необходимо будет предоставить функцию обратного вызова для вызова ajax (код для запуска, когда вызов был успешно завершен). Из jQuery Docs:

 $.post("test.php", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
  });

Итак, вы можете использовать jQueries DOM-манипуляцию для изменения частей страницы, чтобы страница php возвращала новые данные для обновления страницы или автоматически обновлялась, если вы полагались на данные из БД.

0

Решение Адама Хит будет работать, но способ, которым я это сделаю, следующий:

  $.ajax({
    type : 'post',
    url : 'your url',
    data: {isChecked : $('#checkbox_id').attr('checked')},
    success: function(resultData) {
      //in your PHP скрипт do all server side scripting and then
      //if your methods executed successfully return true otherwise return false
      if (resultData == true) {
         $('#checkbox_id').attr('checked', true);
      } else {
         $('#checkbox_id').attr('checked', false);
      }
    }
  });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню