Hola gente,
tengo la siguiente duda: Tengo un método en mi controlador que va insertarndo registros en una base de datos a partir de un arreglo de datos de esta forma:
Código PHP:
Ver originalforeach ($list_import as $dat) {
//valido que no este cargado previamente el producto
if ($this->validarRepetido($dat['url'])) {
$this->db->trans_begin();
//seteo los datos del producto
$info['id'] = '';
$desc = '';
if($dat['username']!=''){
$info['username'] = $dat['username'];
}
else{
$info['username'] = 'Anónimo';
}
$info['category_id'] = $import_data[0]->category_id;
$info['name'] = $dat['name'];
for ($i = 0; $i < count($dat['description']); $i++) { if ($dat['description'] != '') {
$desc .= $dat['description'][$i];
}
}
$info['description'] = $desc;
} else {
$info['description'] = $dat['description'];
}
$info['price'] = $dat['price'];
$info['status'] = 0;
$info['stock'] = NULL;
$info['approved'] = 0;
if (@$dat['source'] != '') {
$info['source'] = $dat['source'];
} else {
$info['source'] = 'alamaula';
}
$info['url'] = $dat['url'];
$info['ubicacion'] = $dat['ubicacion'];
$fecha = $this->fecha($dat['created_date']);
$info['created_date'] = $fecha['created'];
$info['expiration_date'] = $fecha['expired'];
$info['external_id'] = $dat['id'];
if($dat['images']){
$dat['images'] = explode(',',$dat['images']); }
$info['modified_date'] = date('Y-m-d H:i:s'); $info['import_id'] = $id_import;
//guardo el producto
$result = $this->product->save($info);
$info['id'] = $result;
$data['completos'][] = $info;
//$this->firephp->log('guardo el producto: url ' . $info['url']);
$id_prod = $result;
if (count($dat['images']) > 0) { $this->importImages($dat['images'],$info['id'],$import_data['0']->folder_images);
}
//actualizo el estado del registro en la tabla temporal
$datos['id'] = $dat['id'];
$datos['imported'] = 1;
$this->product_temp->save($datos);
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
$this->db->trans_rollback();
$data['msj'] = "no se realizo la transaccion";
} else {
$this->db->trans_commit();
}
} else {
$this->db->trans_rollback();
$data['incompletos'][] = $info;
}
$x++;
}
}
bien lo que necisto hacer (y no logro encontrarle la forma) es que cada vez que se inserta un nuevo registro pueda mostrar por ajax a la vista la cantidad insertada es decir que en el html me salga algo asi:
X registros de 10000
donde X es la cantidad de que fueron insertados correctamente.
Ya tengo la llamada a ajax al método que es asi:
Código Javascript
:
Ver original$(function() {
$('.btn-info').click(function(event){
event.preventDefault();
var link = '';
link = $(this).attr('href');
$(this).button('loading');
//alert(link);
$.ajax({
type: 'GET',
url: link,
success: function(data){
$(this).button('completado');
$(location).attr('href', '<?php echo base_url('admin/tools');?>');
},
error: function(data){
$(this).removeClass('btn-info');
$(this).addClass('btn-warning');
$(this).button('hubo un error');
},
complete: function() {
$(this).button('reset');
}
});
});
});
Pero esta lo que hace es que una vez terminado el ajax redirecciona al index de mi aplicaicon.
Alguien tiene idea si se puede hacer lo que quiero.
Desde ya muchas gracias!