Php, codeigniter, ajax, mysql


Php, codeigniter, ajax, mysql

我想用ajax更新数据库中的记录而不重新加载页面。

//Here is my controller.
Public function changeid()
{
  $this->view->('admin/change_id');
}
Public function ajax_changeid()
{
  $old_id =$_POST[studentid];
  $newid =$_POST[new_id];
  If(isset($_POST[`new_id')){
  $data =array(
         'student_id'=>trim($newid));
  $this->db->where('student_id', $old_id);
  $this->db->update('student');
  echo "info submited";
}
  echo json_encode($data);
}

我的视图表单change_id

<form id='formajax' method='post' name='form'>
<input type="text" id="studentid"   
name="studentid"          readonly="readonly" 
value="<?   php echo $row-    >student_id; ?>" />
<input type="text" name="new_id" id="new_id"   >
<input type="submit" id="btnsubmit"     
value="Update"     class="button success"   
onclick="myFunction()"  />
<'form>
//  Ajax script
<script>
//ajaxForm({
//function myFunction(){
(document).ready(function(){
$("#btnsubmit").click(function(event){
  event.preventDefault();
  var stud_id =         
  document.getElementById("new_id").value;
  var studentid =      
  document.getElementById("studentid").value;
  var dataString = 'new_id1=' + new_id + 
  '$studentid1=' + studentid;
  $.ajax({
    type:"POST",
    url:"<?php echo base_url()?    
    >"+"index.php/school_settings/ajax_changeid",
    data:dataString,
    cache:false,
    success:function(html){
    //alert(html);
    alert('im working');
    }
  });
  return false;
  });
});
</script>

挑战在于页面每次都不断重新加载。我单击提交按钮而不执行任何操作。我希望能够更改ID并获得成功
显示消息而不重新加载 D 页面。

您的代码中有一些问题,请使用此修改后的代码:

控制器:

public function changeid()
{
  $this->load->view('admin/change_id');
}
public function ajax_changeid()
{
  $old_id = $_POST['studentid'];
  $newid =$_POST['new_id'];
  if(isset($_POST['new_id']))
  {
    $data =array(
           'student_id'=>trim($newid));
    $this->db->where('student_id', $old_id);
    $this->db->update('student');
    echo "info submited";
  }
  echo json_encode($data);
}

视图:

<form id='formajax' method='post' name='form'>
<input type="text" id="studentid" name="studentid" readonly="readonly" value="<?php echo $row->student_id;?>"/>
<input type="text" name="new_id" id="new_id">
<input type="submit" id="btnsubmit" value="Update" class="button success" onclick="myFunction()"/>
</form>

我改变了什么?

  • 将负载视图功能更改为$this->load->view('admin/change_id');而不是$this->view->('admin/change_id');

  • 将 isset 检查isset($_POST[`new_id')更改为 isset($_POST['new_id']) ,您错过了结尾 ] 括号并使用反引号(不知道为什么)

  • 将表单结束标记<'form>更正为</form>

  • 从按钮中删除onclick="myFunction()"事件,因为您在 ajax 中对 onclick 事件使用按钮 ID。