我正在嘗試使用選擇選項標簽更新表中的特定行。但它僅更新最后插入的行,而不是指定的。我需要解決方案。
控制器:
public function user_status()
{
$this->load->model('customize_model');
$data = array("user_status" => $this->input->post('status'),
"user_id" => $this->input->post('user_id'));
$data1['user'] = $this->customize_model->update_status($data);
$this->load->view('custom/user',$data1);
}
模型:
public function update_status($data)
{
$user_id = $this->input->post('user_id');
$this->db->set($data);
$this->db->where('user_id',$user_id);
return $this->db->update('user',$data);
}
我的觀點:
<?php
foreach($user->result() as $row)
{
?>
<tr>
<input type="hidden" class="form-control"
value="<?php echo $row->user_id; ?>"
name="user_id" />
<td><?php echo $row->user_id; ?></td>
<td><?php echo $row->user_status; ?></td>
<td>
<select class="form-control" name="status"
id="user_status">
<option value="Active">Active</option>
<option
value="Inactive">Inactive</option>
</select>
</td>
<td>
<button class="btn btn-primary" name="submit"
type="submit" value="<?php echo $row->user_id;?
>"> Update<?php echo $row->user_id;?></button>
</td>
</tr>
<?php
}
?>
uj5u.com熱心網友回復:
這里的問題是相同的 name="user_id" 與其他名稱屬性一起在您的視圖中回圈。所以最后一個值被發送到控制器。
在視圖中:創建兩個輸入欄位
<input type="hidden" name="global_userId" id="global_userId" />
<input type="hidden" name="global_status" id="global_status" />
嘗試將名稱和 ID 設定為
name="status-<?php echo $row->user_id; ?>" id="status-<?php echo $row->user_id; ?>"
對于回圈中的所有名稱屬性。并制作按鈕型別按鈕而不是提交并使其呼叫函式onclick。喜歡
onClick="submitForm(<?php echo $row->user_id; ?>)"
并創建 Jquery 函式來更新輸入欄位并提交表單:
function submitForm(userId){
$('#global_userId').val(userId);
var status = $('#status-' userId).val();
$('#global_status').val(status);
$('#formId').submit();
}
在控制器和模型中,接受值的“global_userId”和“global_status”。
$user_id = $this->input->post('global_userId');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/414168.html
標籤:
