Foros del Web » Programando para Internet » PHP »

problema con ejecucion de una gran ocnsulta

Estas en el tema de problema con ejecucion de una gran ocnsulta en el foro de PHP en Foros del Web. Hola a todos, ejecuto una importante consulta que me organiza unos datos y luego los exporta a archivos planos, normalmente ocn 18 mil registro tarda ...
  #1 (permalink)  
Antiguo 12/02/2013, 15:06
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Información problema con ejecucion de una gran ocnsulta

Hola a todos,

ejecuto una importante consulta que me organiza unos datos y luego los exporta a archivos planos, normalmente ocn 18 mil registro tarda un poco pero lo logra hacer, pero este mes debe procesar unos 24 mil registros y se queda procesando y luego despues de un rato aparece INTERNET EXPLORER NO ENCUENTRA LA PAGINA..... yo le puse

Código PHP:
Ver original
  1. ini_set('max_execution_time', 40000);

pero el problema ocntinua, que puedo hacer para permitir que culmine con exito el proceso?

los genero en un archivo .php
  #2 (permalink)  
Antiguo 12/02/2013, 15:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con ejecucion de una gran ocnsulta

Pienso que desde que haces esperar al usuario por mas de un segundo entonces ya estás haciendo algo mal.

Este tipo de procesos lentos deberían ser invisibles para el usuario, bien podrías procesarlos in-background y notificar al usuario cuando el proceso haya finalizado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/02/2013, 15:15
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: problema con ejecucion de una gran ocnsulta

ok , lo tendre en cuenta, sin embargo el unico usuario dle sistema soy yo quien extrae reportes, pero por supuesto voy a tener muy en cuentra tu opinion y estoy de acuerdo, pero que puedo hacer para que me pueda sacar dichos archivos planos,,,,, que modificaciones le puedo hacer al php.ini o al mysql.ini o a que se debe ese desborde si es asi como se puede llamar?, por favor ustedes que son expertos me puedne dar una manito...?
  #4 (permalink)  
Antiguo 12/02/2013, 15:18
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: problema con ejecucion de una gran ocnsulta

que script estas usando para crear o sacar esos archivos planos???
  #5 (permalink)  
Antiguo 12/02/2013, 15:24
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Información Respuesta: problema con ejecucion de una gran ocnsulta

Es muy extenso porque hace varias actualizaciones

Código PHP:
Ver original
  1. <?php
  2. include ('conexion.php');
  3. ini_set('max_execution_time', 40000);
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <title>Generacion de Planos Argentina</title>
  10. <style type="text/css">
  11. <!--
  12. .Estilo6 {color: #A5A6AA;
  13.     font-weight: bold;
  14. }
  15. .Estilo7 {
  16.     color: #FFFFFF;
  17.     font-weight: bold;
  18. }
  19. .Estilo11 { color: #10A1DD;
  20.     font-weight: bold;
  21. }
  22. -->
  23. </style>
  24. </head>
  25. <?php
  26. $borrado_us=mysql_query(" TRUNCATE us_argentina");
  27. $borrado_af=mysql_query(" TRUNCATE af_argentina");
  28. $borrado_ac=mysql_query(" TRUNCATE ac_argentina");
  29. $borrado_ap=mysql_query(" TRUNCATE ap_argentina");
  30. $borrado_ct=mysql_query(" TRUNCATE ct_argentina");
  31.  
  32. $seleccion_ips='argentina';
  33. $tratante_ips='argentina';
  34. /*
  35. $ips_tratante=mysql_query("SELECT LEFT(ips,2) FROM rips_sura where id_rips='1'");
  36. while ($t=mysql_fetch_array($ips_tratante)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  37.             {  
  38.                 $tratante_ips=$t[0];
  39.             }
  40. */
  41.  
  42. $prestador='05001043470';
  43. $ips='EPS';
  44.  
  45. $seleccion_edad=mysql_query("SELECT fecha_naci_usuario FROM anexo_8");
  46.  
  47. while ($b=mysql_fetch_array($seleccion_edad)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  48.             {  
  49.                 $tratante_ips=$t[0];
  50.             }
  51.  mysql_free_result($seleccion_edad);   
  52.        
  53. //////////////////////INSERT /////////////////////////////
  54. $ac_argentina=mysql_query("INSERT INTO ac_argentina (num_factura,cod_prestador,tipo_identi,numero_identi,fecha_consulta,num_autorizacion,cod_consulta,
  55. finalidad_consulta,causa_externa,dx_principal,cod_dx_1,cod_dx_2,cod_dx_3,tipo_diagnostico,valor_consulta,valor_moderadora,valor_neto)
  56. select 'numero factura','05001043470',tipo_identi_usuario,numero_identi_usuario,fecha_servicio,numero_orden,codigo_servicio,
  57. '10','13',codigo_dx_ppal,codigo_dx1,codigo_dx2,codigo_dx3,'1',valor,valor_moderadora,
  58. 'sumar' FROM anexo_8");
  59.  
  60. $us_argentina=mysql_query("INSERT INTO us_argentina (documento_paci,tipo_ident,eps,tipo_usuario,apellido_1,apellido_2,nombre_1,nombre_2,edad,unidad_edad,sexo,
  61. departamento,municipio,zona)
  62. select distinct(numero_identi_usuario) as
  63. r,tipo_identi_usuario,'05001043470',1,apellido1_usuario,apellido2_usuario,nombre1_usuario,nombre2_usuario,edad_final_usuario,unidad_medida_edad,genero,'05','001','U' from anexo_8");
  64.  
  65. $ap_argentina=mysql_query("INSERT INTO ap_argentina (numero_factura,codigo_prestador,tipo_identi,numero_identi,fecha_procediimiento,num_autorizacion,
  66. cod_procedimiento,ambito_procedimiento,finalidad_procedimiento,personal_atiende,cod_dx_ppal,cod_dx_relacionado,
  67. complicacion,forma_acto,valor_procedimiento)
  68. SELECT 'numero factura','05001043470',tipo_identi_usuario,numero_identi_usuario,fecha_servicio,numero_orden,codigo_servicio,'1',
  69. '1','',codigo_dx_ppal,'','','',valor from anexo_8 ");
  70.  
  71. $actualizar_valor=mysql_query("select distinct(fecha_servicio), sum(valor) FROM anexo_8 GROUP BY 1 ORDER BY 1");
  72.  
  73. $contador=1;
  74. while ($k=mysql_fetch_array($actualizar_valor)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  75.             {  
  76.                 $valor_factura=$k['1'];
  77.                 $fecha_factura=$k['fecha_servicio'];
  78.                 $actualizar_af=mysql_query("INSERT INTO af_argentina (cod_prestador,razon_social,tipo_identi,numero_identi,fecha_exp_fact,fecha_inicial,fecha_fina,cod_entidad,nombre_entidad,valor_copago,valor_neto) VALUES ('05001043470','COOPERATIVA ANTIOQUEÑA DE SALUD','NI','800168183-5','$fecha_factura','','','EPS001','EPS ALIANSALUD','$valor_factura','$valor_factura') ");
  79.                 $actualice_valor=mysql_query("update facturas_argentina set suma_factura = $valor_factura where fecha_factura='$fecha_factura'");
  80.                 $contador++;
  81.             }
  82. mysql_free_result($actualizar_valor);  
  83. $actualizar_num_factura_ac1=mysql_query("UPDATE af_argentina a SET numero_fact = (SELECT numero_factura FROM facturas_argentina WHERE fecha_factura = a.fecha_exp_fact LIMIT 1)");
  84.  
  85. $actualizar_num_factura=mysql_query("UPDATE af_argentina a SET numero_fact = '1X' WHERE numero_fact IS NULL");
  86.  
  87. $actualizar_num_factura_ap=mysql_query("UPDATE ap_argentina a SET numero_factura = (SELECT numero_factura FROM facturas_argentina WHERE fecha_factura = a.fecha_procediimiento LIMIT 1)");
  88.  
  89. $actualizar_num_factura_ac=mysql_query("UPDATE ac_argentina a SET num_factura = (SELECT numero_factura FROM facturas_argentina WHERE a.fecha_consulta=fecha_factura  LIMIT 1)");
  90.  
  91. $seleccion_ac=mysql_query("SELECT num_factura FROM ac_argentina");  
  92. while ($tows1=mysql_fetch_array($seleccion_ac)) // Con este arreglo actualizo los numeros de facturas del ac vacios por 1X
  93.             {  
  94.                 $registros_ac=$tows1['num_factura'];
  95.                 $actualizar_factura_ac=mysql_query("UPDATE ac_argentina SET num_factura = '1X' WHERE num_factura=''");
  96.             }
  97. mysql_free_result($seleccion_ac);
  98.    
  99. $seleccion_ap=mysql_query("SELECT numero_factura FROM ap_argentina");
  100. while ($tows2=mysql_fetch_array($seleccion_ap)) // Con este arreglo actualizo los numeros de facturas del ap vacios por 1X
  101.             {  
  102.                 $registros_ap=$tows2['numero_factura'];
  103.                 $actualizar_factura_ap=mysql_query("UPDATE ap_argentina SET numero_factura = '1X' WHERE numero_factura=''");
  104.             }
  105. mysql_free_result($seleccion_ap);
  106.  
  107. $invertir_fecha_ac=mysql_query("SELECT fecha_consulta FROM ac_argentina ");
  108. $contin=1;
  109. while ($towsn=mysql_fetch_array($invertir_fecha_ac)) // Con este arreglo corrijo la fecha de 2012-05-12 a 12-05-2012
  110.             {  
  111.                 $fecha_consulta=$towsn['fecha_consulta'];
  112.                 $fcha=explode("-",$fecha_consulta);
  113.                 $fechanueva=$fcha[2]."/".$fcha[1]."/".$fcha[0];
  114.                 $actualizar_ac=mysql_query("UPDATE ac_argentina a SET fecha_consulta ='$fechanueva' where id_ac='$contin' ");
  115.                 $contin++;
  116.             }
  117. mysql_free_result($invertir_fecha_ac);
  118.  
  119. $invertir_fecha_servicio=mysql_query("SELECT fecha_procediimiento FROM ap_argentina ");
  120. $contic=1;
  121. while ($towss=mysql_fetch_array($invertir_fecha_servicio)) // Con este arreglo corrijo la fecha de 2012-05-12 a 12-05-2012
  122.             {  
  123.                 $fecha2=$towss['0'];
  124.                 $fch2=explode("-",$fecha2);
  125.                 $fecha_nueva=$fch2[2]."/".$fch2[1]."/".$fch2[0];
  126.                 $actualizar_serv=mysql_query("UPDATE ap_argentina a SET fecha_procediimiento ='$fecha_nueva' where id_ap='$contic' ");
  127.                 $contic++;
  128.             }
  129. mysql_free_result($invertir_fecha_servicio);
  130.            
  131. $sumar_cuotas_ac=mysql_query("SELECT valor_consulta,valor_moderadora FROM ac_argentina ");
  132. $contac=1;
  133. while ($towac=mysql_fetch_array($sumar_cuotas_ac)) // Con este arreglo corrijo la fecha de 2012-05-12 a 12-05-2012
  134.             {  
  135.                 $valor_consulta=$towac['0'];
  136.                 $valor_moderadora=$towac['1'];
  137.                 $valor_total=$valor_consulta+$valor_moderadora;
  138.                 $actualizar_total=mysql_query("UPDATE ac_argentina a SET valor_neto ='$valor_total' where id_ac='$contac' ");
  139.                 $contac++;
  140.             }
  141. mysql_free_result($sumar_cuotas_ac);
  142.  
  143. $update_valor_consulta=mysql_query("UPDATE ac_argentina SET valor_consulta='1' where valor_consulta='0'");
  144. $update_valor_consulta=mysql_query("UPDATE ac_argentina SET valor_moderadora='1' where valor_moderadora='0'");
  145. $update_valor_consulta=mysql_query("UPDATE ac_argentina SET valor_neto='1' where valor_neto='0'");     
  146.  
  147. $fullpath='C:/Archivos de programa/VertrigoServ/www/Rips/planos_argentina/US';
  148. $fullpath1='C:/Archivos de programa/VertrigoServ/www/Rips/planos_argentina/AF';
  149. $fullpath2='C:/Archivos de programa/VertrigoServ/www/Rips/planos_argentina/AC';
  150. $fullpath3='C:/Archivos de programa/VertrigoServ/www/Rips/planos_argentina/AP';
  151. $fullpath4='C:/Archivos de programa/VertrigoServ/www/Rips/planos_argentina/CT';
  #6 (permalink)  
Antiguo 12/02/2013, 15:25
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: problema con ejecucion de una gran ocnsulta

Código PHP:
Ver original
  1. $mes_actual=date(n);
  2. $mes_anterior=$mes_actual-1;
  3. $ano=date(Y);
  4. $extension='.txt';
  5. $fecha_actual=date("d/m/Y");
  6.  
  7. foreach (glob("./planos_argentina/*.txt") as $filename) // BORRO TODOS LOS .TXT QUE ESTUVIESEN EN ESA RUTA ANTES DE GENERAR LOS NUEVOS
  8. {
  9. unlink($filename);
  10. }
  11.  
  12.  
  13. $exportar_af=mysql_query("SELECT cod_prestador,razon_social,tipo_identi,numero_identi,numero_fact,fecha_exp_fact,fecha_inicial,fecha_fina,cod_entidad,nombre_entidad,numero_contrato,plan_beneficios,numero_poliza,valor_copago,valor_comision,valor_descuentos,valor_neto
  14. INTO OUTFILE '".$fullpath1."".$ips."".$mes_anterior."".$ano."".$extension."' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
  15. FROM af_argentina");
  16.  
  17. $exportar_us=mysql_query("SELECT tipo_ident,documento_paci,eps,tipo_usuario,apellido_1,apellido_2,nombre_1,nombre_2,edad,unidad_edad,sexo,departamento,municipio,zona
  18. INTO OUTFILE '".$fullpath."".$ips."".$mes_anterior."".$ano."".$extension."' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r'
  19. FROM us_argentina");
  20.  
  21. $exportar_ac=mysql_query("SELECT num_factura,cod_prestador,tipo_identi,a.numero_identi,fecha_consulta,num_autorizacion,b.codigo_cups,finalidad_consulta,causa_externa,
  22. dx_principal,cod_dx_1,cod_dx_2,cod_dx_3,tipo_diagnostico,valor_consulta,valor_moderadora,valor_neto INTO OUTFILE '".$fullpath2."".$ips."".$mes_anterior."".$ano."".$extension."' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r' from ac_argentina a, cups b,categorias c
  23. where a.cod_consulta=b.cod_servicio AND b.categoria_cups=c.cod_categoria AND c.cod_categoria='4'");
  24.  
  25. $exportar_ap=mysql_query("SELECT numero_factura,codigo_prestador,tipo_identi,numero_identi,fecha_procediimiento,num_autorizacion,b.codigo_cups,ambito_procedimiento,finalidad_procedimiento,personal_atiende,cod_dx_ppal,cod_dx_relacionado,complicacion,forma_acto,valor_procedimiento INTO OUTFILE '".$fullpath3."".$ips."".$mes_anterior."".$ano."".$extension."' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r' FROM ap_argentina a, cups b,categorias c
  26. where a.cod_procedimiento=b.cod_servicio AND b.categoria_cups=c.cod_categoria AND c.cod_categoria in('1','5','2','3')");
  27.  
  28. $contar_us_argentina=mysql_query("SELECT COUNT(tipo_ident ) FROM us_argentina");
  29. while ($us=mysql_fetch_array($contar_us_argentina)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  30.             {  
  31.                 $contar_us=$us[0];
  32.             }
  33.  
  34. $contar_af_argentina=mysql_query("SELECT COUNT(cod_prestador) FROM af_argentina");
  35. while ($af=mysql_fetch_array($contar_af_argentina)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  36.             {  
  37.                 $contar_af=$af[0];
  38.             }
  39.            
  40. $contar_ac_argentina=mysql_query("SELECT COUNT(cod_prestador) FROM ac_argentina a, cups b,categorias c where a.cod_consulta=b.cod_servicio AND b.categoria_cups=c.cod_categoria AND c.cod_categoria='4'");
  41. while ($ac=mysql_fetch_array($contar_ac_argentina)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  42.             {  
  43.                 $contar_ac=$ac[0];
  44.             }
  45.            
  46. $contar_ap_argentina=mysql_query("SELECT COUNT(cod_prestador) FROM ac_argentina a, cups b,categorias c
  47. where a.cod_consulta=b.cod_servicio AND b.categoria_cups=c.cod_categoria AND c.cod_categoria in('1','5','2','3')");
  48. while ($ap=mysql_fetch_array($contar_ap_argentina)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  49.             {  
  50.                 $contar_ap=$ap[0];
  51.             }
  52.  
  53. $contar_af_argentina=mysql_query("SELECT COUNT(cod_prestador) FROM af_argentina");
  54. while ($af=mysql_fetch_array($contar_af_argentina)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  55.             {  
  56.                 $contar_af=$af[0];
  57.             }
  58.  
  59.  
  60. $af='AF';
  61. $nombre_af= $af.$ips.$mes_anterior.$ano;  //alimento la tabla ct con la descripcion de cada archivo
  62.  
  63. $ct_argentina=mysql_query("INSERT INTO ct_argentina (cod_prestador,fecha_remision,cod_archivo,total_registros) VALUES ('$prestador','$fecha_actual','$nombre_af','$contar_af')");
  64.  
  65. $us='US';
  66. $nombre_us= $us.$ips.$mes_anterior.$ano;
  67. $ct_sura2=mysql_query("INSERT INTO ct_argentina VALUES ('$prestador','$fecha_actual','$nombre_us','$contar_us')");
  68.  
  69. $ac='AC';
  70. $nombre_ac= $ac.$ips.$mes_anterior.$ano;
  71. $ct_sura3=mysql_query("INSERT INTO ct_argentina VALUES ('$prestador','$fecha_actual','$nombre_ac','$contar_ac')");
  72.  
  73. $ap='AP';
  74. $nombre_ap= $ap.$ips.$mes_anterior.$ano;
  75. $ct_sura4=mysql_query("INSERT INTO ct_argentina VALUES ('$prestador','$fecha_actual','$nombre_ap','$contar_ap')");
  76.  
  77. $exportar_ct=mysql_query("SELECT cod_prestador,fecha_remision,cod_archivo,total_registros INTO OUTFILE '".$fullpath4."".$ips."".$mes_anterior."".$ano."".$extension."' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r' from ct_argentina ");
  78.  
  79. ?>
  80. <body>
  81. <blockquote>
  82.   <blockquote>
  83.     <p><img src="imagenes/logonuevo.png" alt="Coopsana" width="193" height="60" longdesc="coopana" /><span class="Estilo6">Departamento de informatica</span></p>
  84.     <blockquote>
  85.       <blockquote>
  86.         <div align="center">
  87.           <pre><img src="imagenes/logoaliansalud.jpg" width="176" height="45" alt="Aliansalud" longdesc="RIPS Aliansalud" />
  88.           </pre>
  89.         </div>
  90.         <table width="520" border="1" align="center">
  91.           <tr>
  92.             <td width="510" bgcolor="#23A6DC"><div align="center"><span class="Estilo7">Vista de Archivos Planos Aliansalud</span></div></td>
  93.           </tr>
  94.           <tr>
  95.           </tr>
  96.         </table>
  97.         <pre><?
  98. if (empty($_GET['ruta']) || ereg("^\.", $_GET['ruta'])) {
  99.     $dir = './planos_argentina/';
  100. }
  101. else {
  102.     $dir = $_GET['ruta'];
  103. }
  104. if (is_dir($dir)) {
  105.  
  106.     function tamano($bytes) {
  107.         $largo = strlen($bytes);
  108.         if ($largo < 4) {
  109.             $divisor = 1;
  110.             $unidad = 'B';
  111.         }
  112.         else if ($largo > 3 && $largo < 7) {
  113.             $divisor = 1024;
  114.             $unidad = 'KB';
  115.         }
  116.         else if ($largo > 6 && $largo < 10) {
  117.             $divisor = pow(1024, 2);
  118.             $unidad = 'MB';
  119.         }
  120.         else if ($largo > 9 && $largo < 12) {
  121.             $divisor = pow(1024, 3);
  122.             $unidad = 'GB';
  123.         }
  124.         else {
  125.             $divisor = pow(1024, 4);
  126.             $unidad = 'TB';
  127.         }
  128.         $salida[0] = round(($bytes / $divisor), 2);
  129.         $salida[1] = $unidad;
  130.         return $salida;
  131.     }
  132.  
  133.     $gd = opendir($dir);
  134.     if ($gd) {
  135.         $rn = "\r\n";
  136.         while (($archivo = readdir($gd)) !== false) {
  137.             if (ereg("^(.)*\.[a-zA-Z0-9]{1,3}$", $archivo)) {
  138.                 if ($archivo == 'seleccionar_archivo.php') { break; }
  139.                 $extension = strtolower(substr($archivo, -3));
  140.                 switch ($extension) {
  141.                     case 'mp3':
  142.                     case 'wma':
  143.                         $icono = 'snd';
  144.                         break;
  145.                     case 'jpg';
  146.                     case 'tif';
  147.                     case 'png';
  148.                         $icono = 'pic';
  149.                         break;                    
  150.                     default:
  151.                         $icono = 'aliansa';
  152.                         break;
  153.                 }
  154.  
  155.                 $iconos [] = $icono;
  156.                 $archivos[] = $archivo;
  157.                 $fechas[] = $fecha;
  158.                 $tamanos[] = tamano(filesize($dir.$archivo));
  159.             }
  160.             else if ($archivo != '.' && $archivo != '..') {
  161.                 $carpetas[] = $archivo;
  162.             }
  163.         }
  164.         closedir($gd);
  165.  
  166.         if ($dir != '.') {
  167.             $ruta = explode('/', $_GET['ruta']);
  168.             $tot_subdir = count($ruta) - 2;
  169.             krsort($ruta);
  170.             $volver = '<img src="bck.png"> <a href="seleccionar_archivo.php';
  171.             for ($i = 0; $i < $tot_subdir; $i++) {
  172.                 $volver .= $ruta[$i].'/';
  173.             }
  174.             $volver .= '">volver</a>'.$rn;
  175.             echo $volver;
  176.         }
  177.  
  178.         if (is_array($carpetas)) {
  179.             natcasesort($carpetas);
  180.             foreach ($carpetas as $valor) {
  181.                 echo '<img src="fol.png"> <a href="?ruta='.$_GET['ruta'].urlencode($valor).'/">'.$valor.'</a>    '.$rn;
  182.             }
  183.         }
  184.  
  185.         if (is_array($archivos)) {
  186.             if (natcasesort($archivos)) {
  187.                 foreach ($archivos as $clave => $valor) {
  188.                     echo '<img src="'.$iconos[$clave].'.png"> <a href="'.$dir.urlencode($valor).'">'.$valor.'</a>    ';
  189.                     printf("%6.2f ", $tamanos[$clave][0]);
  190.                     echo $tamanos[$clave][1];
  191.                     echo $rn;
  192.                 }
  193.             }
  194.         }
  195.    
  196. }
  197. else    {
  198.           echo 'El directorio \''.$dir.'\' no es v&aacute;lido.';  
  199.         }
  200. } //cierro if
  201.  
  202. ?>
  203.        
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.   <p><div align="center">
  217.     <p><span class="Estilo11">All Right Reserved &copy; 2012</span> <img src="http://www.forosdelweb.com/f18/Meco/imagenes/IconoRedes2.PNG" width="41" height="44" alt="logo" longdesc="logo" /></p>
  218. </div>
  219.   </p>
  220.       </blockquote>
  221.     </blockquote>
  222.   </blockquote>
  223. </blockquote>
  224.  
  225. </body>
  226. </html>
  #7 (permalink)  
Antiguo 12/02/2013, 15:33
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: problema con ejecucion de una gran ocnsulta

al final muestra exactamente esto,

Esta página no se puede mostrar

•Asegúrate de que la dirección web http://192.168.0.9:86 sea correcta.
•Busca la página con tu motor de búsqueda.
•Actualiza la página en unos minutos.

Pero con consultas de unos 4 mil registros menos no saca ese error, muestra muy bien los planos
  #8 (permalink)  
Antiguo 12/02/2013, 16:36
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: problema con ejecucion de una gran ocnsulta

Muchas veces el proveedor de internet corta las transmisiones cuando no se reciben datos por cierto tiempo. En mi caso al cambiar de http a https se solucionó.

Una alternativa es imprimir cada cierta cantidad de operaciones algún mensaje, de modo que el cliente (el navegador) vaya recibiendo datos de a poco y persista la conexión.
  #9 (permalink)  
Antiguo 12/02/2013, 17:03
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: problema con ejecucion de una gran ocnsulta

Prueba con set_time_limit en vez de usar ini_set .. A ver si es por eso..
  #10 (permalink)  
Antiguo 12/02/2013, 17:13
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: problema con ejecucion de una gran ocnsulta

Si fuera problema del tiempo de ejecución, el navegador mostraría datos, concretamente que el proceso excedió el límite y fue terminado.
  #11 (permalink)  
Antiguo 12/02/2013, 17:18
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: problema con ejecucion de una gran ocnsulta

Ah.Tienes razón.No había visto que el navegador no recibe respuesta.Ahora que he mirado algo más el código..sobre todo que se están cargando cosas en memoria..habría que comprobar si no se está llegando al memory_limit.
  #12 (permalink)  
Antiguo 12/02/2013, 17:43
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: problema con ejecucion de una gran ocnsulta

Según recuerdo, cuando se acaba la memoria php también muestra un mensaje de error de memoria. Pero de haber un error que acabe el proceso de forma prematura, se puede consultar el log para asegurarlo, además, si el proceso genera un archivo de texto plano, éste es una forma de ver si el proceso se completa o no.
  #13 (permalink)  
Antiguo 12/02/2013, 22:35
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: problema con ejecucion de una gran ocnsulta

Personalmente ejecutaría ese archivo directamente con PHP (bajo comandos via consola), así te quitas muchas limitaciones, al final del archivo debería tener una forma de informar al sistema que ah terminado su trabajo y este a su vez informar al usuario final...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #14 (permalink)  
Antiguo 13/02/2013, 08:34
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: problema con ejecucion de una gran ocnsulta

muchachos muchas gracias, me gusta mucho la participacion de expertos ..voy hacer las recomendaciones que me indicam , con respecto al ejecutar modo consola la operacion me pueden remitir algun link que este bien completo sobre el tema para intentar implementarlo?
  #15 (permalink)  
Antiguo 13/02/2013, 09:14
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: problema con ejecucion de una gran ocnsulta

No es tan complicado, bueno, depende de lo que quieras hacer, pero para algo básico solo ejecuta al función exect() ya sea indicando directamente el archivo o ejecutándolo mediante un archivo bat/shell...

Código PHP:
Ver original
  1. <?php
  2. exect('php -l archivo.php > /dev/null 2>&1 &');

En el manual de PHP sobre exect() (que deje el link al inicio de esta respuesta) tienes muchos ejemplos en los comentarios y bastantes explicaciones, no creo que necesites mas...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #16 (permalink)  
Antiguo 13/02/2013, 09:19
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: problema con ejecucion de una gran ocnsulta

perfecto, muchas gracias !!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:53.