Я работаю с живым флажком, поэтому, когда мне нужно установить ON (1) или OFF (0) один флажок, установите флажок обновить значение в БД, и все в порядке ... но сейчас Я работаю с live checkbox в списке пользователей (который у меня уже есть сейчас 100 пользователей) ... так что проблема в том, что когда я пытаюсь поместить кого-то в запрет, флажок работает только с последним, а не с другими пользователи ... не могли бы вы мне помочь?save multi checkbox по id
Вот форма:
<form class="form-horizontal" method="post" name="ban" id="ban">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>">
<?php if ($row['banned'] == '1') {
echo '<input type="checkbox" name="banned" data-no-uniform="true" class="iphone-toggle" value="on" checked>';
} else {
echo '<input type="checkbox" name="banned" data-no-uniform="true" class="iphone-toggle" value="off" >';
} ?>
</form>
<div id="gif" style="display:none;" align="center"><img src="img/ajax-loaders/ajax-loader-1.gif" /></div>
Здесь JS:
$("#ban").click(function(){
$.ajax({
type:"POST",
url:"includes/ban.php?ts=" + new Date().getTime(),
dataType:"text",
data:$(this).serialize(),
beforeSend:function(){
$("#gif").show();
},
success:function(response){
$("#gif").hide();
}
})
return false;
});
И это код к БД:
<?php
include('con.php');
if($_POST['banned']==on) {
try{
$id = $_POST['id'];
$banned = '0';
$sql = "UPDATE BANS SET
banned = :banned
WHERE id= :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':banned', $banned, PDO::PARAM_STR);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
echo "<div class='alert alert-block alert-success fade in'>
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
the ban is off!.
</div>";
}catch(PDOException $exception){
echo "Error: " . $exception->getMessage();
}
} else {
try{
$id = $_POST['id'];
$banned = '1';
$sql = "UPDATE BANS SET
banned = :banned
WHERE id= :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':banned', $banned, PDO::PARAM_STR);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
echo "<div class='alert alert-block alert-danger fade in'>
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
the ban is on!
</div>";
}catch(PDOException $exception){
echo "Error: " . $exception->getMessage();
}
}
$dbh = null;
?>
Ваше решение будет работать нормально, хотя в качестве предложения для joaquin, чтобы сделать общий код проще, является форма на все необходимое. Если ему нужно обновить статус пользователя на флажке, то на нем может быть установлен флажок без формы и иметь атрибут данных в качестве идентификатора пользователя. Затем щелчок по любому флажку можно обрабатывать и обрабатывать так же, как это делается на данный момент. – nitigyan
@Ben Chamberlin приятно !, спасибо, сейчас работает! ... и да, загрузчик AJAX все еще показывает мне только в первом ... –