我将使用伪代码和代码片段总结我的目标,以便轻松显示我想要完成的工作:
表列:
<td data-target="scheduled">
<?php
if ($row['scheduled'] == 1) {
?>
<a href="#" data-role="update" data-id="<?php echo $row['id'] ;?>">YES</a>
<?php
} else if ($row['scheduled'] == 0) {
?>
<a href="#" data-role="update" data-id="<?php echo $row['id'] ;?>">NO</a>
<?php
}
?>
</td>
这是一个表列,其中的按钮取决于值为1(是)和0(否)的值
模式:
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="form-group">
<label>UPDATE SCHEDULED?</label>
<input type="text" id="scheduled" class="form-control">
</div>
<input type="hidden" id="userId" class="form-control">
</div>
<div class="modal-footer">
<a href="#" id="save" class="btn btn-primary pull-right">Update</a>
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
只要单击“是”或“否”按钮,就会弹出此模式
现在,我可以将文本字段更改为1或0,以便输出将显示相应的结果。
我正在尝试获取“ $ scheduled = $ _POST ['scheduled'];”点击后自动获得输入,如果列为0,则$ _POST将变为1;如果列为1,则$ _POST将变为0。
Ajax:
<script>
$(document).ready(function(){
$(document).on('click','a[data-role=update]',function(){
var id = $(this).data('id');
var scheduled = $('#'+id).children('td[data-target=scheduled]').text();
$('#scheduled').val(scheduled);
$('#userId').val(id);
$('#myModal').modal('toggle');
});
$('#save').click(function(){
var id = $('#userId').val();
var scheduled = $('#scheduled').val();
$.ajax({
url : 'connection.php',
method : 'post',
data : {scheduled: scheduled , id: id},
success : function(response){
$('#'+id).children('td[data-target=scheduled]').text(scheduled);
$('#myModal').modal('toggle');
}
});
});
});
</script>
这是当前的ajax代码,它在文本字段中获取值。
SQL:
if(isset($_POST['id'])){
$id = $_POST['id'];
$scheduled = $_POST['scheduled'];
$result = mysqli_query($connection , "UPDATE user SET scheduled = '$scheduled' WHERE id='$id'");
}
?>
借助ajax更新列的SQL代码。
使用伪代码进行总结:(不会手动输入文本字段,只有一个按钮即可直接使用ajax更新)
模式:
if ($row['scheduled'] == 1) {
textfield input is 0
} else if ($row['scheduled'] == 0) {
textfield input is 1
}
我认为,如果我能使我的模式中的if语句正常工作,那么其余部分将由ajax和SQL完成,并且我将获得一个响应按钮来更改文本(是或否)。
将感谢您的帮助。