[英]Show data immediately after insert to db mysql using codeigniter MVC
我有一个文本框和一个按钮,填写完文本框然后点击按钮,数据就会保存到mysql中。 我的问题是,当我点击保存按钮时,我保存的数据的 ID 会立即出现在该页面上。 我的意思是我插入 mysql 的数据的 ID
这是视图
<label for="userAnswer">Answer</label>
<textarea name="userAnswer" id="userAnswer" class="form-control"></textarea>
<button onclick="saveAnswer()">Submit Answer</button>
这是js
function saveAnswer(){
var inputAnswer = $('#userAnswer').val();
$.ajax({
type: "GET",
url: GLOBAL_URL + '/Session/saveAnswer?&inputAnswer='+inputAnswer,
dataType: 'json',
});
}
这是控制器
function saveAnswer(){
$data = array(
'id' => uuid(false),
'answer' => $this->input->get_post("inputAnswer")
);
$this->db->insert('tableAnswer', $data);
}
谢谢
视图文件添加此代码
<input type="text" id="id">
控制器文件插入后,添加此代码
echo json_encode(array("val"=> $data['id']));
Javascript
$.ajax({
type: "GET",
url: GLOBAL_URL + '/Session/saveAnswer?&inputAnswer='+inputAnswer,
dataType: 'json',
success: function(val){
document.getElementById("id").value = val.val;
}
});
就是这样...
插入数据后,在模态中粘贴下面的行
return $this->db->insert_id();
它将反映最后插入的数据 ID
您必须回显 id 而不是返回它以从 Js 获取它
echo $this->db->insert_id();
使用此代码:-
function saveAnswer(){
var inputAnswer = $('#userAnswer').val();
$.ajax({
type: "GET",
url: GLOBAL_URL + '/Session/saveAnswer?&inputAnswer='+inputAnswer,
dataType: 'json',
sucess:function(result){
alert(result);
},
});
}
结果将携带您的 id 并将显示在警告框中,并且从 ajax 返回 id 使用以下代码:-
function saveAnswer(){
$data = array(
'id' => uuid(false),
'answer' => $this->input->get_post("inputAnswer")
);
$this->db->insert('tableAnswer', $data);
$id = $this->db->insert_id;
if($id > 0){
echo $id;
}
}
如果您得到结果,请不要忘记勾选它,以便其他人可以获得帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.