Tente isto:
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);
}
}
Mudou 3 coisas:
- adicionou um ponto em
$("onoffswitch-checkbox")então agora é$(".onoffswitch-checkbox") - adicionado
id=apósmodule_update.php?e antes deidvalor. - já que você precisa de
statetambém adicionei isso também com um¶ separar os valores para$_GETem php para separá-los
PHP
Não sei o que você quer dizer com
$_GET['onoffswitch-checkbox'] no php, talvez um erro? Minha sugestão não precisa de qualquer maneira, nem sua consulta mysql. Como você só clicará um de cada vez, não vejo necessidade do
foreach loop em php, então você poderia fazer isso:$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++;