I saw an example in native PHP which allows inline editing or records and also updates them. PHP Inline Editing Now as per this code i have a ajax function which calls the update file whenever the content is updated below is the script :
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
function showEdit(editableObj) {
$(editableObj).css("background","#FFF");
}
function saveToDatabase(editableObj,column,id) {
$(editableObj).css("background","#FFF url(<?php echo site_url('img/loaderIcon.gif');?>loaderIcon.gif) no-repeat right");
$.ajax({
url: "<?php echo(site_url('Inlinedit/updateDb'));?>",
type: "POST",
data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
success: function(data){
$(editableObj).css("background","#FDFDFD");
}
});
}
</script>
THe Model :
public function inline( $column, $editval, $id )
{
$result = mysql_query("UPDATE users set $column = $editval WHERE id=$id");
}
the Controller:
<?php
class Inlinedit extends Admin_Controller {
public function __construct()
{
parent::__construct();
}
public function updateDb()
{
$column = $this->input->post('column');
$editval = $this->input->post('editval');
$id = $this->input->post('id');
$this->load->model('user_m');
$this->user_m->inline( $column, $editval, $id );
return;
}
}
Answer:
First of all you should understand you cant call model function bypassing controller. for that what you have to do is
- Create a new method in controller.(One time use)
- Inside that method just use method calling your model.
ex
In controller
In controller
public function just_a_method()
{
$this->Model_name->inline();/just call method
}
and in view
$.ajax({
url: "<?php echo base_url()?>controller/just_a_method",
0 nhận xét:
Đăng nhận xét