Mysql
 sql >> Database >  >> RDS >> Mysql

aggiorna il database con la casella di controllo

Prova questo:

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 cose cambiate:

  • aggiunto un punto in $("onoffswitch-checkbox") quindi ora è $(".onoffswitch-checkbox")
  • aggiunto id= dopo module_update.php? e prima di id valore.
  • poiché hai bisogno di state inoltre l'ho aggiunto anche con un & per separare i valori per $_GET in php per separarli

PHP

Non so cosa intendi con $_GET['onoffswitch-checkbox'] nel php, forse un errore? Il mio suggerimento non ne ha bisogno comunque, nemmeno la tua query su mysql.

Dal momento che farai clic solo su uno alla volta, non vedo la necessità di foreach loop in php, quindi potresti farlo:

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