Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-03-2012
georkis georkis is offline
Miembro
 
Registrado: abr 2008
Ubicación: Cuba
Posts: 39
Poder: 0
georkis Va por buen camino
Deseo hacer sumatoria de las horas que calcula el Bucle

Código PHP:
<?php
$server
='localhost';
$username='root';
$pass='konter';
$db='usuario';

if(!
$conn=@mysql_connect($server$username$pass)){
    echo 
'Error al conectarse con MySQL';
}
if(!@
mysql_select_db($db$conn)){
echo 
'Error al seleccionar la base de datos';
}

$sql="SELECT 
  cast(reg_serv.fecha_final as time) AS Hora_salida,
  cast(reg_serv.fecha_inicio as time) AS Hora_entrada
  
FROM
  reg_serv
  "
;
 if(!
$result=@mysql_query($sql$conn)){
     echo 
'Error en la consulta';
     }
 
$row=mysql_fetch_array($result);
?>
<table>
<tr>
    <td>Resultado</td>
    
</tr>
<?php

do { ?>
 <tr>
     
     <td><?php echo $total=date("H:i:s"strtotime("00:00:00") + strtotime($row['Hora_salida']) - strtotime($row['Hora_entrada'])); ?></td>
     
 </tr>
<?php }while($row=mysql_fetch_array($result)); ?>
</table>
Total horas:<?php  // poner el total ?>
<?php
mysql_free_result
($result);
?>

Última edición por ecfisa fecha: 07-03-2012 a las 20:04:56. Razón: ETIQUETAS: [PHP] [/PHP]
Responder Con Cita
  #2  
Antiguo 07-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola georkis.

Por favor cuando incluyas código en tus mensajes utiliza etiquetas para darle mayor legibilidad (ya las agregué al tuyo).

Una imágen explicativa de su uso:



Saludos y gracias por tu colaboración.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 07-03-2012
georkis georkis is offline
Miembro
 
Registrado: abr 2008
Ubicación: Cuba
Posts: 39
Poder: 0
georkis Va por buen camino
Hola de nuevo... incorporé la function array_sum();

Código PHP:
<?php
$server
='localhost';
$username='root';
$pass='konter';
$db='usuario';

if(!
$conn=@mysql_connect($server$username$pass)){
    echo 
'Error al conectarse con MySQL';
}
if(!@
mysql_select_db($db$conn)){
echo 
'Error al seleccionar la base de datos';
}

$sql="SELECT
  cast(reg_serv.fecha_final as time) AS Hora_salida,
  cast(reg_serv.fecha_inicio as time) AS Hora_entrada
  
FROM
  reg_serv
  "
;
 if(!
$result=@mysql_query($sql$conn)){
     echo 
'Error en la consulta';
     }
 
$row=mysql_fetch_array($result);
?>
<table>
<tr>
<td>Resultado</td>

</tr>
Código PHP:
<?php

do { 
$total_cantidad=array ();
$total_cantidad[]=$row['Hora_salida'];

?>
<tr>

<td>
Código PHP:
<?php echo $totaldate("H:i:s"strtotime("00:00:00") + strtotime($row['Hora_salida']) - strtotime($row['Hora_entrada'])); ?>
Código PHP:
<?php $total= array(date("H:i:s"strtotime("00:00:00") + strtotime($row['Hora_salida']) - strtotime($row['Hora_entrada']))); ?>
</td>

</tr>
Código PHP:
<?php }while($row=mysql_fetch_array($result)); ?>
</table>
Total horas:<?php echo array_sum($total); ?>
Código PHP:
<?php
mysql_free_result
($result);
?>
Responder Con Cita
  #4  
Antiguo 08-03-2012
georkis georkis is offline
Miembro
 
Registrado: abr 2008
Ubicación: Cuba
Posts: 39
Poder: 0
georkis Va por buen camino
jajaja... tengo otra manera...

Código SQL [-]
SELECT 
  SUBTIME( cast(reg_serv.fecha_final as TIME ),
  cast(reg_serv.fecha_inicio as TIME)) AS Hora_entrada
FROM
  reg_serv

Con esto me evito los calculos que hace el bucle... ahora me falta la sumatoria.... así que lo que hice me resta las horas y deseo la totalidad de las horas de usuarios en la instalación eso es todo... espero terminar pronto... estoy avanzando... si alguien me quiere aportar otra idea.... o solucionar....
Responder Con Cita
  #5  
Antiguo 08-03-2012
georkis georkis is offline
Miembro
 
Registrado: abr 2008
Ubicación: Cuba
Posts: 39
Poder: 0
georkis Va por buen camino
Resuelto...

La consulta anterior la guarde y cree otra que me suma el total... el código es este:
Código SQL [-]
SELECT 
  sec_to_time(sum(time_to_sec(por_hora_fecha.hora_usada))) AS Total_hora
FROM
  por_hora_fecha

Pero hay un problemita... el MySQL tiene que ejecutar la primera consulta y restar la fecha salida y entrada y luego la segunda hace la sumatoria... lo que quiero que desde PHP, me sume el total de hora de la primera consulta que esta guardada.

Mi primera consulta esta:
Código SQL [-]
SELECT 
  subtime(cast(reg_serv.fecha_final as time), cast(reg_serv.fecha_inicio as time)) AS hora_usada
FROM
  reg_serv
Quisiera que fuera desde PHP para evitar la lentitud de gestión de datos... imaginate que son 100 usuarios conectados... mysql volcaooooooo de memoria.... no se si estoy en un error... por favor que alguien me ayude... ah, este trabajo consiste en una estadistica de control de usuarios por servicios PC... (Internet, correo, juegos, etc)... gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer un Bucle en Delphi webmasterplc Varios 22 26-02-2011 20:12:01
No consigo hacer funcionar este bucle. radge Varios 14 27-01-2009 18:54:35
hacer un bucle esimon OOP 4 25-01-2009 21:27:37
¿cómo hacer una sumatoria acumulativa? ContraVeneno MS SQL Server 2 14-07-2006 20:56:12
Se puede hacer un bucle a un TTimer gontxalo OOP 2 18-07-2005 21:37:53


La franja horaria es GMT +2. Ahora son las 14:21:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi