I am creating an admin panel for a project that I am working on. It will list a bunch of entries in a table and each row will have a checkbox in it. This checkbox will be used to activate an entry to be displayed on the website.
I am setting the id and name of the checkbox with data from the MySQL database. For example..
<input type="checkbox" class="active" name="active<?php echo $id; ?>" id="active<?php echo $id; ?>" <?php if ($active == 1): ?>checked="checked"<?php endif; ?> value="<?php echo $id; ?>">
For the entry with ID of 5 it will look like this..
<input type="checkbox" class="active" name="active5" id="active5" checked="checked" value="5">
I need to set this up so that when you check a box or uncheck it that it updates the “active” value in the database. How do I grab the value of each checkbox, when clicked, and send that value to the MySQL database. I can do this easily if I know the checkboxes name beforehand, but since the name is partly generated from the database I’m not sure how to write the code to determine which entry gets the active value.
Here is my jQuery..
$("input.active").click(function() {
// store the values from the form checkbox box, then send via ajax below
var check_active = $(this).is(':checked') ? 1 : 0;
var check_id = $(this).attr('value');
console.log(check_active);
console.log(check_id);
$.ajax({
type: "POST",
url: "http://nowfoods.marketspacecom.com/nextstep/ajax.php",
data: {id: check_id, active: check_active},
success: function(){
$('form#submit').hide(function(){$('div.success').fadeIn();});
}
});
return true;
});
Here is the PHP..
<?php
include("dbinfo.inc.php");
mysql_connect($server,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
// CLIENT INFORMATION
$active = mysql_real_escape_string($_POST['active']);
$id = mysql_real_escape_string($_POST['id']);
$addEntry = "UPDATE entries SET active = '$active' WHERE id = '$id'";
mysql_query($addEntry) or die(mysql_error());
mysql_close();
?>

You could add a class to the input and set the value to the id instead:
<input class="active" type="checkbox" name="active5" id="active5" value="5" checked="checked">Then, change your jQuery:
As for PHP:
This should be what you’re looking for. There may be some minor syntax issues, because I’m writing this off the top of my head, but I hope you get the general idea. 🙂