我想从表中传递每行的 ID,并使用 AJAX 将其传递到 Controller ,并希望更新数据库中该行的下拉选择。
我在下拉列表中所做的选择被传递到 Controller ,但不确定如何根据其每行条件在数据库中更新。非常感谢您的帮助!!!
下面是我的用户界面的屏幕截图
带有 ID 和下拉列表的屏幕截图
查看文件
<?php if( is_array( $fbrecords ) && count( $fbrecords ) > 0 )
foreach($fbrecords as $r) { ?>
<tr class="idrow">
<td id="tdname" ><!-- style="display:none;" --> <?php echo $r->id; ?></td>
<td><?php echo $r->fullname; ?></td>
<td><?php echo $r->email; ?></td>
<td><?php echo $r->mobile; ?></td>
<td><?php echo $r->message; ?></td>
<td><?php echo $r->jtime; ?></td>
<td> <?php $data=array(
'name'=>'status',
'row' => '12px',
'id' => 'status',
'selected'=>'none',
'class'=>'statusClass'
);
$data_status = array(
'none' => 'none',
'A&A' => 'Attended & Acted',
'YTA' => 'Yet to Attend',
);
echo form_dropdown($data, $data_status, set_value('status')); ?> </td>
<td><button type="button" class="btn btn-sm btn-success emlbtn" > Reply to <?php $fname=explode(" ",$r->fullname); echo $fname[0]; ?></button>
AJAX代码
$(document).ready( function() {
$(".statusClass").change(function(event) {
event.preventDefault();
//var dropDown = document.getElementById("status");
//var status = dropDown.options[dropDown.selectedIndex].value;
var status = $(this).val();
console.log(status);
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/user_authentication/user_data_status_submit",
dataType: 'json',
data: {status:status},
success: function(data){
if (result)
{
alert("success");
}
}
});
});
});
Controller
public function user_data_status_submit(){
$data = array(
'status' => $this->input->post('status'),
'id'
);
//Either you can print value or you can send value to database
echo json_encode($data);
$this->login_database->feedback_update($data);
}
更新模型中的函数
public function feedback_update($data){
$this->db->set($data);
$this->db->where("id", $old_id);
$this->db->update('feedback_table', $data);
}
最佳答案
首先像这样更改您的 $data array() :
$data = array(
'data-user' => $r->id, //ID of the row
'name'=>'status',
'row' => '12px',
'id' => 'status',
'selected'=>'none',
'class'=>'statusClass'
);
你的ajax应该是这样的:
$(".statusClass").each(function(index, element) {
$(this).on('change', function(e) {
var id = $(this).data('user');
var status = $(this).val();
console.log(id);
console.log(status);
// your ajax stuff go as usual
});
});
关于php - 我想使用 Ajax 将 id 从 View 传递到 Codeigniter 中的 Controller 并更新数据库中的下拉选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38320566/