私が取り組んでいるプロジェクトの管理パネルを作成しています。テーブルに一連のエントリがリストされ、各行にはチェックボックスがあります。このチェックボックスは、Web サイトに表示されるエントリを有効にするために使用されます。
MySQL データベースからのデータでチェックボックスのid
andを設定しています。name
例えば..
<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; ?>">
ID 5 のエントリの場合、次のようになります。
<input type="checkbox" class="active" name="active5" id="active5" checked="checked" value="5">
これを設定して、ボックスをオンまたはオフにしたときに、データベース内の「アクティブな」値が更新されるようにする必要があります。クリックされたときに各チェックボックスの値を取得し、その値を MySQL データベースに送信するにはどうすればよいですか。name
チェックボックスを事前に知っていれば簡単に実行できますが、name
部分的にデータベースから生成されるため、アクティブな値を取得するエントリを決定するコードの書き方がわかりません。
これが私の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;
});
これが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();
?>