JQuery - Ajax, Puedo hacer que vaya actualizando me datos?

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 4 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

Ajax, Puedo hacer que vaya actualizando me datos?

Publicado por German (4 intervenciones) el 22/02/2017 02:51:28
Muy buenas gente, los molesto con la siguiente consulta.

Tengo que importar cada cierto tiempo unas planillas excel a sql (mariaDB).

Esto lo hago con PHPExcel y no hay problemas, cada planilla excel tiene unos 20 0 30 mil filas, por unas 9 columnas, por lo que en ocasiones se toma su tiempo para procesar los datos.

De momento solo sale un cartel que dice procesando con un poco de movimiento para no impacientar al usuario.

Mi duda es la siguiente, como puedo hacer que mientras se ejecuta una consulta vaya actualizando un cuadro de porcentaje o algo similar?

Lo mas parecido que hice fue crear una tabla de estadísticas en donde se graba cuanto es server demora en ejecutar ciertas sentencias, entonces predice el tiempo que llevara hacer la consulta dependiendo de la cantidad de filas. Pero este dato no es real (aunque se acerca en general). Ahora pongo un poco de codigo a ver si me explico mejor lo que intento hacer.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
include 'PHPexcel/Classes/PHPExcel.php';
$dataFfile = "archivo.xls";
$objPHPExcel = PHPExcel_IOFactory::load($dataFfile);
//SELECCIONO LA HOJA 1
$sheet = $objPHPExcel->getSheet(0);
//BUSCO LA ULTIMA COLUMNA DE LA TABLA
$highestRow = $sheet->getHighestRow();
//BUSCO LA ULTIMA COLUMNA DE LA TABLA
$highestColumn = $sheet->getHighestColumn();
//ARMO EL RANGO DE SELECCION, DESDE A2(EVITO LA PRIMERA FILA QUE TIENE LAS LEYENDAS) 
$data = $sheet->rangeToArray('A1:'.$highestColumn.$highestRow);
 
//VACIO LA TABLA AUX ANTES DE COMENZAR
$conn -> query(" TRUNCATE TABLE `aux` ");
 
$10 = $highestColumn *  10 / 100;
$20 = $highestColumn *  20 / 100;
$30 = $highestColumn *  30 / 100;
$40 = $highestColumn *  40 / 100;
.....
...
 
foreach ($data as $row) {
                if( $data > $10 ){ Avisar algun lado que ya llego al 10%}
                if( $data > $20 ){ Avisar algun lado que ya llego al 20%}
...............
.........
		$row[8] = str_replace("'"," ",$row[8]);
		 $conn -> query("INSERT INTO `aux` (`a01`, `a02`, `a03`, `a04`, `a05`, `a06`, `a07`, `a08`, `a09`)                   VALUES ".
		                                         "('$row[8]', '$row[7]', '$row[6]', '$row[5]', '$row[4]', '$row[3]', '$row[2]', '$row[1]', '$row[0]')");
	}


Pregunto si cuando uso ajax y hago el envió a un PHP, puede que este PHP envié información antes de terminar de recorrer el código, como quien dice si puede ir actualizando en pantalla datos a medida que corre.
La manera que encontré ahora es que el resultado va a otra consulta ajax y esa otra de nuevo al PHP y así sucesivamente hasta terminar. Pero quizás exista una forma mas simple.

Desde ya muchas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha disminuido su posición en 4 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

Ajax, Puedo hacer que vaya actualizando me datos?

Publicado por German (4 intervenciones) el 23/02/2017 18:00:04
Muchas gracias por los aportes, esa parte ya la tengo resuelta. el tema es que no se como saber en que porcentaje del proceso esta sql actualizando filas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar