Mysql
 sql >> Base de données >  >> RDS >> Mysql

mettre à jour la base de données avec la case à cocher

Essayez ceci :

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); 
    }
}

Modification de 3 éléments :

  • ajout d'un point dans $("onoffswitch-checkbox") donc c'est maintenant $(".onoffswitch-checkbox")
  • ajouté id= après module_update.php? et avant id valeur.
  • puisque vous avez besoin de state aussi j'ai ajouté cela aussi avec un & pour séparer les valeurs de $_GET en php pour les séparer

PHP

Je ne sais pas ce que vous entendez par $_GET['onoffswitch-checkbox'] dans le php, peut-être une erreur ? Ma suggestion n'en a pas besoin de toute façon, pas plus que votre requête mysql.

Étant donné que vous ne cliquerez qu'un seul à la fois, je ne vois pas la nécessité du foreach loop dans php, vous pouvez donc faire ceci :

$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++;