Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2013, 08:44
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 1 mes
Puntos: 43
contador registros ajax

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 original
  1. foreach ($list_import as $dat) {
  2.             //valido que no este cargado previamente el producto
  3.             if ($this->validarRepetido($dat['url'])) {
  4.                 $this->db->trans_begin();
  5.                 //seteo los datos del producto
  6.                 $info['id'] = '';
  7.                 $desc = '';
  8.                 if($dat['username']!=''){
  9.                     $info['username'] = $dat['username'];
  10.                 }
  11.                 else{
  12.                     $info['username'] = 'Anónimo';
  13.                 }
  14.                 $info['category_id'] = $import_data[0]->category_id;
  15.                 $info['name'] = $dat['name'];
  16.                 if (is_array($dat['description'])) {
  17.                     for ($i = 0; $i < count($dat['description']); $i++) {
  18.                         if ($dat['description'] != '') {
  19.                             $desc .= $dat['description'][$i];
  20.                         }
  21.                     }
  22.                     $info['description'] = $desc;
  23.                 } else {
  24.                     $info['description'] = $dat['description'];
  25.                 }
  26.  
  27.                 $info['price'] = $dat['price'];
  28.  
  29.                 $info['status'] = 0;
  30.                 $info['stock'] = NULL;
  31.                 $info['approved'] = 0;
  32.                 if (@$dat['source'] != '') {
  33.                     $info['source'] = $dat['source'];
  34.                 } else {
  35.                     $info['source'] = 'alamaula';
  36.                 }
  37.  
  38.                 $info['url'] = $dat['url'];
  39.                 $info['ubicacion'] = $dat['ubicacion'];
  40.  
  41.                 $fecha = $this->fecha($dat['created_date']);
  42.  
  43.                 $info['created_date'] = $fecha['created'];
  44.                 $info['expiration_date'] = $fecha['expired'];
  45.                 $info['external_id'] = $dat['id'];
  46.  
  47.                 if($dat['images']){
  48.                     $dat['images'] = explode(',',$dat['images']);
  49.                 }
  50.                 $info['modified_date'] = date('Y-m-d H:i:s');
  51.                 $info['import_id'] = $id_import;
  52.  
  53.                 //guardo el producto
  54.                 $result = $this->product->save($info);
  55.  
  56.                 if (is_numeric($result)) {
  57.                     $info['id'] = $result;
  58.                     $data['completos'][] = $info;
  59.                     //$this->firephp->log('guardo el producto: url ' . $info['url']);
  60.                     $id_prod = $result;
  61.                     if (count($dat['images']) > 0) {
  62.                         $this->importImages($dat['images'],$info['id'],$import_data['0']->folder_images);
  63.                     }
  64.  
  65.                     //actualizo el estado del registro en la tabla temporal
  66.                     $datos['id'] = $dat['id'];
  67.                     $datos['imported'] = 1;
  68.                     $this->product_temp->save($datos);
  69.  
  70.                     $this->db->trans_complete();
  71.                     if ($this->db->trans_status() === FALSE) {
  72.                         $this->db->trans_rollback();
  73.                         $data['msj'] = "no se realizo la transaccion";
  74.                     } else {
  75.                         $this->db->trans_commit();
  76.                     }
  77.                 } else {
  78.                     $this->db->trans_rollback();
  79.                     $data['incompletos'][] = $info;
  80.                 }
  81.                 $x++;
  82.             }
  83.         }

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
  1. $(function() {
  2.         $('.btn-info').click(function(event){
  3.             event.preventDefault();
  4.             var link = '';
  5.             link = $(this).attr('href');
  6.             $(this).button('loading');
  7.            //alert(link);
  8.             $.ajax({
  9.                 type: 'GET',
  10.                 url: link,
  11.                 success: function(data){
  12.                     $(this).button('completado');
  13.                     $(location).attr('href', '<?php echo base_url('admin/tools');?>');
  14.                 },
  15.                 error: function(data){
  16.                     $(this).removeClass('btn-info');
  17.                     $(this).addClass('btn-warning');
  18.                     $(this).button('hubo un error');
  19.                 },
  20.                 complete: function() {
  21.                     $(this).button('reset');
  22.                 }
  23.             });
  24.         });
  25.     });
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!