обновить базу данных с помощью флажка



В моей таблице базы данных есть 2 поля: id (int) и state (enum -> 0,1).



Что мне нужно сделать, так это обновить мою базу данных (мое поле state) с состоянием a checkbox (0 для пустого, 1 для проверенного).



Чтобы показать каждое из полей в моей базе данных, я использую цикл:



Цикл:



<?php
foreach ( $posts_array as $module )
{
?>
<h2><?php echo $module->titre; ?></h2>
<input type="checkbox" name="chkbx_<?php echo $module->id; ?>"> id="chkbx_<?php echo $module->id; ?>" class="onoffswitch-checkbox"> On/Off <br />
<?php
}
?>


Мой файл обновления:



foreach ($_GET['onoffswitch-checkbox'] as $id => $state)
{
// $_GET['onoffswitch-checkbox'] = class for all my checkboxed
// $id = my database row id
// $state = on/off
$query = mysql_query("UPDATE records SET id='$id' WHERE state='$state'", $conn) or die (mysql_error($conn));
$id++;
}


Где мне нужна помощь-это AJAX часть кода. Я предполагаю, что это выглядит примерно так, но, похоже, это не так. работа:



AJAX



$(document).ready(function() {
$("onoffswitch-checkbox").click(function() {
var id = $(this).attr('id');
$("#state_span").load("module_update.php?"+id);
}
}


Я посмотрел вокруг,увидел несколько примеров, когда мы могли бы сделать это с помощью кнопки submit, но ни одного, где информация автоматически записывается при нажатии флажка.
515   1  

1 ответ:

Попробуйте вот что:

AJAX

$(document).ready(function() {
    $(".onoffswitch-checkbox").click(function() {
        var id = this.id;  //changed here also, just because jQuery is not needed here
        var state = this.checked ? 1 : 0;
        $("#state_span").load("module_update.php?id="+id+"&state="+state); 
    }
}

Изменились 3 вещи:

  • добавил точку в $("onoffswitch-checkbox") так что теперь его $(".onoffswitch-checkbox")
  • добавлено id= после module_update.php? и перед id значением.
  • так как вам нужно state также я добавил, что также с помощью & отделить значения для $_GET в php, чтобы разделить их

PHP

Я не знаю, что вы имеете в виду с $_GET['onoffswitch-checkbox'] в php, может быть, ошибка? Мое предложение в любом случае не нуждается в этом, ни ваш запрос MySQL.

Поскольку вы будете щелкать только по одному, я не вижу необходимости в цикле foreach в php, поэтому вы можете сделать это:

$id = $_GET['id'];
$state= $_GET['state'];
// $_GET['onoffswitch-checkbox'] ?? I don't think you need this...
// $id = my database row id
// $state = on/off
$query = mysql_query("UPDATE records SET id='$id' WHERE state='$state'", $conn) or die (mysql_error($conn));
$id++;

Comments

    Ничего не найдено.