I'm starting to get the hang of Codeigniter, but apparently am missing something here.
I'm not sure how to return data to the user after an ajax form submission. Here are the relevant bits of my code, with the question inside:
View:
if (confirm("Are you sure?"))
{
var form_data = $('form').serialize();
$.post("<?php echo site_url();?>" + "/products/update_multiple", (form_data),
// this is what I don't understand: how to populate the variable result with data returned from the model/controller?
function(result) {
$('#myDiv').html(result);
}
)
}
Controller:
function update_multiple()
{
$this->load->model('products_model');
$this->products_model->updateMultiple();
// What goes here, to grab data from the model and send it back to the ajax caller?
}
Model:
function updateMultiple()
{
// I have a drop down list to select the field to update. The values of the drop down list look like this: "TableName-FieldName". Hence the explode.
$table_field = explode("-",$this->input->post('field'));
$table = $table_field[0];
$field = $table_field[1];
$data = $this->input->post('data');
$rows = explode("
", $data);
foreach($rows as $key => $row)
{
$values = explode(" ", $row);
$arr[$key]["code"] = $values[0];
$arr[$key][$field] = $values[1];
}
if ($this->db->update_batch($table, $arr, 'code'))
{
// Here is the problem. What should I return here, so that it would be sent back to the calling ajax, to populate the result variable?
}
}