Foros del Web » Programando para Internet » PHP »

Demora en recarga de pagina

Estas en el tema de Demora en recarga de pagina en el foro de PHP en Foros del Web. Que tal amigos, Tengo un script el cual despliega una forma html en la que se solicita 2 fechas y un boton submit para lanzar ...
  #1 (permalink)  
Antiguo 18/02/2005, 13:23
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Desacuerdo Demora en recarga de pagina

Que tal amigos, Tengo un script el cual despliega una forma html en la que se solicita 2 fechas y un boton submit para lanzar el proceso php dentro del mismo script. El caso es que la carga inicial de la pgina para ingresar las fecha es inmediata pero al dar el submit se demora casi dos minutos, lo que me parese super demorado. Habra alguna herramienta que me permita monitorear o realizar un debug sobre el proceso, pregunta mi inocente ignorancia, y asi detectar el por que de semejante situacion?

Agradezco de antemano sus valiosas opiniones al respecto

Felicidades pues
  #2 (permalink)  
Antiguo 18/02/2005, 14:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm .. como "monitoréo" puedes usar un debbuger para PHP .. pero tambien te vendría bien otro para HTTP. Uno para ver el proceso PHP puro ..y otro para ver que cabeceras van y vienen entre cliente-servidor ...

En PHP los "debbuger" son "plug-in" para ciertos IDE (entorno de desarrollo en la parte "cliente") para PHP como Maguma (www.maguma.com) o Zend Studio (www.zend.com) .. ambos tienen su própio debbuger (própio o usan un tercero como DBG debugger) y otra parte que es una extensión para PHP (por lo menos así funciona el DBG debugger)

Pero, lo recomendable será que pongas el código que usas completo .. tal vez por ahí veamos algo que no corresponde o problema.

Un saludo,
  #3 (permalink)  
Antiguo 18/02/2005, 14:31
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Listo Don Cluster.... voy a mirar entonces esos depuradores que me mencionas. En cuanto el script te lo enviaria, pero es como grandecito y no se como enviartelo. Si me indicas como, con mucho gusto

Felicidades pues
  #4 (permalink)  
Antiguo 18/02/2005, 14:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. podrías pegarlo en el foro .. (usando el botón PHP para que coloreado) .. si te falta espacio usa otro mensaje .. ). Podrías ponerlo en algún servidor tuyo en internet . .con una extensión .phps (según configuraciones se vería el código hasta coloreado) o simplemente como .txt para que se vea.


Un saludo,

PD: Archivos adjuntos no permite este foro. Y la idea es que lo veamos todos ..
  #5 (permalink)  
Antiguo 18/02/2005, 15:35
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Hola Don Cluster... la unica opcion que tendria es pegarlo en el foro usando el boton PHP, pero cuando encuentre ese boton (ja!)... no lo veo.
De las otras opciones que me das me queda un tanto dificil ya que estoy en este momento en una empresa haciendo un montaje de nuestra aplicacion y la empresa tiene sus firewals y restricciones del caso... por eso de la seguridad.(?)
O la otra es mandartelo por e-mail. Si quieres enviame uno y te hago un replay sobre el.
[email protected]

Felicidades pues
  #6 (permalink)  
Antiguo 18/02/2005, 16:06
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 10 meses
Puntos: 2
augusto_jaramil, tienes que poner el codigo entre las etiquetas [ php ] y [ /php ] (obviamente los corchetes ban pegado al php)
__________________
I Love Programming...
  #7 (permalink)  
Antiguo 18/02/2005, 16:59
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Ahi va pues (Sera asi entonces?):

Código PHP:
/var/www/html/rsn/pcia.php 

Como que no fue asi y ponerme a transcribir como 600 lineas me queda como de pa' rriba o como mas puedo atachar ese archivo home!!!

Felicidades

Última edición por augusto_jaramil; 18/02/2005 a las 17:12
  #8 (permalink)  
Antiguo 18/02/2005, 17:15
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Cita:
Iniciado por augusto_jaramil
Ahi va pues (Sera asi entonces?):

Código PHP:
/var/www/html/rsn/pcia.php 

Como que no fue asi y ponerme a transcribir como 600 lineas me queda como de pa' rriba o como mas puedo atachar ese archivo home!!!

Felicidades
ja, ja, ja...
Lo que tienes que hacer es "copiar" y "pegar" el código en un mensaje.
Simplemente que para que el mensaje salga coloreado (cosa MUY conveniente), tienes que ponerlo entre esas etiquetas que utilizaste.

Saludos
  #9 (permalink)  
Antiguo 18/02/2005, 17:44
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Eso... riate... eso mismo fue lo que primero intente pero el bicho este se resabio y no fue capaz de hacerlo. Edite el archivo... lo marque... mouse click derecho... copiar... abri la ventana del mozilla donde estamos ahora... mouse click derecho.... PAILAS!!!! no tiene habilitado el Pegar ese... sera el linux? (no creo)... tengo editado el archivo con el editor vim... Ahhh es que uno si tampoco no?

Ahi va pues (Por fin... Acepto humildemente tu tan sutil sonrisa JPinedo)
Primera parte... no cupo


Código PHP:
<?php
  ini_set
('session.cache_limiter''');
  
header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
  
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  
header('Pragma: no-cache');
  
session_start(); 

include(
'configuracion/abrirbd.php');
include (
'fechas.php');
include (
'mayorizar.php');
include (
'trae_mon.php');
include (
'prepare.php');
include (
'lee_base.php');

// ##### P R O G R A M A    P R I N C I P A L ######### //
session_register("mat_mon");
session_register("mat_rep");
session_register("mat_cue");
session_register("mat_det");
session_register("nivel_det");
session_register("recons");
session_register("presentacion");
session_register("ultimo_cierre");
session_register("iden");
session_register("ano_mesa");
session_register("ano_mesf");
session_register("empresa");
session_register("nit_emp");
session_register("nom_emp");
session_register("lineasxpagina");
session_register("cod_mon");
session_register("fecha_i");
session_register("fecha_f");
session_register("en_ventana");

# variables del mayorizador 
session_register("sctas");
session_register("sctan");
session_register("pos");
session_register("lon");
session_register("total_tipo");
session_register("total_mayor");
session_register("total_clase");
session_register("total_subclase");
session_register("total_auxiliar");
session_register("total_subaux");

$mat_mon=trae_mon();
if (isset(
$accion))
   {
   switch (
$accion)
      {
      case 
"Inicio":
         if (
$en_ventana == 1)
            {
            
?>
            <script languaje="JavaScript"> 
         top.location = self.location;
        window.close();
            </script>
            <?
            
}
         else
            {
            
session_destroy();
            
?>
m sinve where ano_mesi='0' and saldo<0 and almacen='1'
            <script languaje="JavaScript"> location.href='index.php?';</script>
            <?php
            
}
         break;

      case 
"Reconstruir":
         
$recons 1;

      case 
"Cerrar":
         
cerrar();
         break;

      }
   }
else    
   {
   
$ultimo_cierre lee_iden();
   
$fecha_i  fecha_mas_dia($ultimo_cierre,$fmtfecha,1); 
   
$fecha_f  fecha_mas_dia($ultimo_cierre,$fmtfecha,32); 
   
$d        day($fecha_f,$fmtfecha);
   
$fecha_f  fecha_mas_dia($fecha_f,$fmtfecha,-$d); 
   
$ano_mesa year($ultimo_cierre,$fmtfecha)*100+month($ultimo_cierre,$fmtfecha); 
   
$ano_mesf year($fecha_f,$fmtfecha)*100+month($fecha_f,$fmtfecha); 
   
$recons 0;

   
pide_datos();
   }
// ### F I N  P R O G R A M A    P R I N C I P A L ##### //

function lee_iden()
{
   global 
$motor$iden$host$base$usuario$db;
   
$lee "SELECT iden.f_cierrei FROM iden ";
   
$iden lee_uno($lee);
   
$ultimo_c $iden['f_cierrei'];
   return 
$ultimo_c;
}
  #10 (permalink)  
Antiguo 18/02/2005, 17:56
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Ahi va pues la segunda parte.... falta la tercera:

Código PHP:
function cerrar() {
   global 
$recons$iden$base$puerto$motor$host$usuario$fecha_i$fecha_f$ano_mesa$fmtfecha$ano_mesf$db;

$ya hoy_minuto("YMD");
echo 
"inicia:$ya<br>\n";

   if (
$recons==1)
      {
      
$fecha_f hoy($fmtfecha);
      
$ano_mesf =0;
      }

   if (
$motor != "Oci8po") {
      
$lee "SET LOCK MODE TO WAIT";
      
$x ejecuta_query($lee);
   }

#  poner sinve de ano_mesf en cero
   
$lee "UPDATE sinve SET sinve.saldo = 0, sinve.costo = 0 WHERE sinve.saldo <> 0 AND ano_mesi = $ano_mesf ";
   
begin_work();
   
ejecuta_query($lee);
   
commit();

#  poner sinvnit de ano_mesf en cero
   
$lee "UPDATE sinvnit SET sinvnit.saldo_nit = 0 WHERE sinvnit.saldo_nit <> 0 AND ano_mes = $ano_mesf AND nit > 0 AND almacen != 0  ";
   
begin_work();
   
ejecuta_query($lee);
   
commit();

#poner ano_mesf = ano_mesa 
   
$lee "SELECT sinve.item, sinve.almacen, sinve.costo, sinve.saldo FROM sinve WHERE ano_mesi = $ano_mesa ";
   
$mat_sal lee_todo($lee);
   
$k=count($mat_sal);
   for(
$i=0$i<$k$i++)
      {
      
begin_work();
      
$item    $mat_sal[$i]['item'];
      
$almacen $mat_sal[$i]['almacen'];
      
$saldo   $mat_sal[$i]['saldo'];
      
$costo   $mat_sal[$i]['costo'];
      
$lee "SELECT sinve.item FROM sinve WHERE item = '$item' AND ano_mesi = $ano_mesf AND almacen = $almacen ";
      
$m_a lee_uno($lee);
      if (
strlen(trim($m_a['item']))>0)
         
$lee "UPDATE sinve SET saldo = saldo + $saldo, costo = costo + $costo WHERE item = '$item' AND ano_mesi = $ano_mesf AND almacen = $almacen ";
      else
         
$lee "INSERT INTO sinve (item, almacen, ano_mesi, saldo, costo) VALUES ('$item',$almacen,$ano_mesf,$saldo,$costo) ";
      
ejecuta_query($lee);
      
commit();
      }

#poner ano_mesf = ano_mesa de sinvnit para lamacenes P y F
   
$lee "SELECT sinvnit.item, sinvnit.almacen, sinvnit.nit, sinvnit.saldo_nit FROM sinvnit WHERE ano_mes = $ano_mesa AND almacen != 0 AND nit > 0 AND saldo_nit != 0 ";
   
$mat_sal lee_todo($lee);
   
$k=count($mat_sal);
   for(
$i=0$i<$k$i++)
      {
      
begin_work();
      
$item    $mat_sal[$i]['item'];
      
$almacen $mat_sal[$i]['almacen'];
      
$saldo   $mat_sal[$i]['saldo_nit'];
      
$nit   $mat_sal[$i]['nit'];
      
$lee "SELECT sinvnit.item FROM sinvnit WHERE item = '$item' AND ano_mes = $ano_mesf AND almacen = $almacen AND nit = $nit ";
      
$m_a lee_uno($lee);
      if (
strlen(trim($m_a['item']))>0)
         
$lee "UPDATE sinvnit SET saldo_nit = saldo_nit + $saldo WHERE item = '$item' AND ano_mes = $ano_mesf AND almacen = $almacen AND nit = $nit ";
      else
         
$lee "INSERT INTO sinvnit (item, almacen, ano_mes, saldo_nit, nit) VALUES ('$item',$almacen,$ano_mesf,$saldo,$nit) ";
      
ejecuta_query($lee);
      
commit();
      }

#  ver movimiento por almacen e item 
   
$lee "SELECT DISTINCT almacen2, clase_almacen FROM movil, almacenes WHERE movil.almacen2 = almacenes.almacen AND fecha BETWEEN '$fecha_i' AND '$fecha_f' AND almacen2 >0 ORDER BY almacen2 ";
   
$mat_sal lee_todo($lee);
   
$k1=count($mat_sal);
   for(
$pasada=0$pasada<2$pasada++)
      {
      for(
$i=0$i<$k1$i++)
         {
         
$almacen $mat_sal[$i]['almacen2'];
         
$clase_a trim($mat_sal[$i]['clase_almacen']);
         if (
$iden['inv_cronologico']=="S")
            {}
         else
            
$lee "SELECT DISTINCT movil.item FROM movil, inve WHERE movil.item = inve.item AND inve.unidad != 'INT' AND movil.fecha BETWEEN '$fecha_i' AND '$fecha_f' AND almacen2 = $almacen ORDER BY item ";
         
         
$mat_ite lee_todo($lee);
         for(
$j=0$j<count($mat_ite); $j++)
            {
            
begin_work();
            
$item trim($mat_ite[$j]['item']);
            
$u_promedio 0;
            
$lee  "SELECT sinve.saldo, sinve.costo FROM sinve WHERE ano_mesi = $ano_mesa AND almacen = $almacen AND item = '$item' ";
            
$m_sal lee_uno($lee);
            
$saldo 0;
            
$costo 0;
            if (
$m_sal['saldo']!= 0)
               {
               
$saldo $m_sal['saldo'];
               
$costo $m_sal['costo'];
               
$u_promedio $costo/$saldo;
               }
   
            
$lee "SELECT movil.transaccion, movil.numero, movil.fecha, movil.prioridad, movil.cantidad, movil.valor, movil.costo_tr, tipo_c, movih.nit, movil.origen, movih.nota, movih.fecha_grab, movih.almacen_destino, movih.t_pedido, movih.n_pedido FROM movil,movih, comprobante, nits WHERE movih.transaccion = movil.transaccion AND movih.numero = movil.numero AND movih.nit = nits.nit AND movil.transaccion = comprobante.comprob AND movil.item = '$item' AND movil.almacen2 = $almacen AND prioridad > 0 AND movil.fecha BETWEEN '$fecha_i' AND '$fecha_f' ORDER BY movil.fecha, movil.prioridad, movil.transaccion, movil.numero ";
   
            
$mat_mov lee_todo($lee);
            
$mat_nit = array(); 
  #11 (permalink)  
Antiguo 18/02/2005, 17:59
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Esta es como la tercera y ultima...

Continuacion de la segunda parte

Ahora si aplausan.... lo logreeee

Código PHP:
            for($k=0; $k<count($mat_mov); $k++)
               {
               $tipo_c      = $mat_mov[$k]['tipo_c'];
               $cantidad    = $mat_mov[$k]['cantidad'];
               $valor       = $mat_mov[$k]['valor'];
               $nit         = $mat_mov[$k]['nit'];
               $origen      = $mat_mov[$k]['origen'];
               $transaccion = $mat_mov[$k]['transaccion'];
               $numero      = $mat_mov[$k]['numero'];
               $costo_tr    = $mat_mov[$k]['costo_tr'];
               $tipo_ajuste = $mat_mov[$k]['nota'];
               switch ($tipo_c)
                  {
                  case "DVP":
                     $valor    = -$costo_tr;
                     $cantidad = -$cantidad;
             break;
                  case "SAL":
                  case "DVM":
                  case "CSM":
                  case "FAC":
                     if ($saldo !=0)
                        $valor = $costo * $cantidad / $saldo;
                     else
                        $valor = 0;
                     if ($tipo_c =="FAC" & $cantidad <0)
                        # en neiva hubo facturas negativas
                        $valor = $costo_tr;
   
                     if ($saldo<$cantidad)
                        {
                        if ($saldo ==0)
                           {
                           #valoriza con la proxima entrada 
                           for($n=$k; $n<count($mat_mov); $n++)
                              {
                              if ($mat_mov[$n]['tipo_c']=="EAC" || $mat_mov[$n]['tipo_c']=="ENT" )
                                 {
                                 $valor = $cantidad * $mat_mov[$n]['valor'];
                                 break;
                                 }
                              }
                           if ($n>=count($mat_mov))
                              {
                              # no encontro compra, toma el ultimo promedio conocido
                              $valor = $cantidad * $u_promedio;
                              }
                           }
                        $mat_neg[$item]=0;
                        }
   
                     $lee = "UPDATE movil SET costo_tr = $valor WHERE transaccion = '$transaccion' AND numero = '$numero' AND origen = $origen AND item = '$item' ";
                     ejecuta_query($lee);

                     $cantidad = -$cantidad;
                     $valor    = -$valor;
                     break;

   
                  case "EAC":
                  case "ENT":
                  case "ALP":
                     $valor = $valor * $cantidad;
                     break;

                  case "ENS":
                  case "DNS":
                  case "DES":
                  case "TRA":
                     if ($cantidad<0)
                        {
                        if ($saldo !=0)
                           $valor = $costo * $cantidad / $saldo;
                        else
                           $valor = 0;

                        if (($tipo_c == "TRA" || $tipo_c == "DES")& $pasada ==0)
                           {
                           $alm_de = $mat_mov[$k]['almacen_destino'];
                           $val = -$valor;
                           $lee = "UPDATE movil SET costo_tr = $val WHERE transaccion = '$transaccion' AND numero = '$numero' AND almacen2 = $alm_de AND item = '$item' ";
                           ejecuta_query($lee);
                           }

                        $lee = "UPDATE movil SET costo_tr = $valor WHERE transaccion = '$transaccion' AND numero = '$numero' AND origen = $origen AND item = '$item' AND cantidad <0 ";

                        ejecuta_query($lee);
                        }
                     else
                        $valor = $costo_tr;

                     break;

                  case "DVC":
                  case "REI":
                     $t_pedido = $mat_mov[$k]['t_pedido'];
                     $n_pedido = $mat_mov[$k]['n_pedido'];
                     $lee = "SELECT movil.costo_tr / movil.cantidad AS costo_tr FROM movil WHERE transaccion = '$t_pedido' AND numero = '$n_pedido' AND item = '$item' ";

                     $m_dvc = lee_uno($lee);
                     $cost = abs($m_dvc['costo_tr']);
                     if (count($m_dvc)>0)
                        {
                        $costo_tr = $cost * $cantidad;
                        $lee = "UPDATE movil SET costo_tr = $costo_tr WHERE transaccion = '$transaccion' AND numero = '$numero' AND origen = $origen AND item = '$item' ";
                        ejecuta_query($lee);
                        }

                     $valor = $costo_tr;
                     break;
                  case "AJV":
                     if (trim($tipo_ajuste)=="AJUSTE")
                        {
                        if ($saldo !=0)
                           $valor = $costo * $cantidad / $saldo;
                        else
                           $valor = 0;

                        $lee = "UPDATE movil SET valor = $valor WHERE transaccion = '$transaccion' AND numero = '$numero' AND origen = $origen AND item = '$item' ";
                        ejecuta_query($lee);
                        }
                     break;

                  default:
                     echo "Transaccion desconocida $tipo_c ";
                  }

               $saldo = $saldo + $cantidad;
               $costo = $costo + $valor;
               if ($clase_a == "P" || $clase_a == "S")
                  $mat_nit[$nit] += $cantidad;
               
               }
            if ($saldo !=0 & $costo!=0)
               {
               $u_promedio = $costo/$saldo;
               }

            if ($saldo == 0)
               $costo = 0;

            $lee  = "SELECT sinve.item, sinve.costo FROM sinve WHERE ano_mesi = $ano_mesf AND almacen = $almacen AND item = '$item' ";
            $m_sal = lee_uno($lee);
            if (trim($m_sal['item'])== trim($item))
               $lee = "UPDATE sinve SET saldo = $saldo, costo = $costo WHERE ano_mesi = $ano_mesf AND almacen = $almacen AND item = '$item' ";
            else
               $lee = "INSERT INTO sinve (item, almacen, ano_mesi, saldo, costo) VALUES ('$item',$almacen,$ano_mesf,$saldo,$costo) ";
   
            ejecuta_query($lee);
            if ($clase_a == "P" || $clase_a == "S")
               {
               foreach ($mat_nit as $nit => $saldo) 
                  {
              
                  $lee  = "SELECT sinvnit.item, sinvnit.saldo_nit FROM sinvnit WHERE ano_mes = $ano_mesf AND almacen = $almacen AND item = '$item' AND nit = '$nit' ";
                  $m_sal = lee_uno($lee);
                  if (trim($m_sal['item'])== trim($item))
                     $lee = "UPDATE sinvnit SET saldo_nit = $saldo  WHERE ano_mes = $ano_mesf AND almacen = $almacen AND item = '$item' AND nit = $nit ";
                  else
                     $lee = "INSERT INTO sinvnit (item, almacen, ano_mes, saldo_nit, nit) VALUES ('$item',$almacen,$ano_mesf,$saldo,$nit) ";
   
                  ejecuta_query($lee);
                  }
               }
            commit();
            }
         }
      }
#  reconstruye el consolidado
   $lee = "SELECT item, SUM(saldo) AS saldo, SUM(costo) AS costo FROM sinve WHERE ano_mesi = $ano_mesf and almacen !=0 GROUP BY item";
   $mat_con = lee_todo($lee);
   for($i=0; $i<count($mat_con); $i++)
      {
      $item  = $mat_con[$i]['item'];
      $saldo = $mat_con[$i]['saldo'];
      $costo = $mat_con[$i]['costo'];

      $lee  = "SELECT sinve.item, sinve.costo FROM sinve WHERE ano_mesi = $ano_mesf AND almacen = 0 AND item = '$item' ";
      $m_sal = lee_uno($lee);
      if (trim($m_sal['item'])== trim($item))
         $lee = "UPDATE sinve SET saldo = $saldo, costo = $costo WHERE ano_mesi = $ano_mesf AND almacen = 0 AND item = '$item' ";
      else
         $lee = "INSERT INTO sinve (item, almacen, ano_mesi, saldo, costo) VALUES ('$item','0',$ano_mesf,$saldo,$costo) ";
   
      ejecuta_query($lee);
      }

   if ($recons != 1)
      {
      $lee = "UPDATE iden SET f_cierrei = '$fecha_f' ";
      ejecuta_query($lee);
      }
   $ya = hoy_minuto("YMD");
   echo "termina:$ya";
   ?>
   <script language="javascript" type="text/javascript" >
   alert('Proceso terminado ');
   </script>
   <?
   session_destroy
();
   
?>
   <script languaje="JavaScript"> location.href='index.php?programa=cia';</script>
   <?php

}
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




La zona horaria es GMT -6. Ahora son las 03:05.