Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2010, 08:52
antony1204
 
Fecha de Ingreso: marzo-2010
Mensajes: 14
Antigüedad: 14 años, 1 mes
Puntos: 0
Ayuda con funcion multiplicar horas en php

Ayuda con funcion multiplicar horas en php
hola...

bueno tengo tres campos en mi formulario: una lista depegable con valores 1-5 y dos campos de texto en primero conun valor estatico de 00:44:00, lo que quiero hacer es q al escoger un valor en la lista de menu ese valor se multiplique por el campo estatico y me de el totao en el tercer campo de mi formulario.

Encontre esta funcion en la web y lo hace bien
Código PHP:
<?php

////////Función que suma horas
function suma_horas ($hora1,$hora2){
$hora2=explode(":",$hora2);
$temp=0;
//sumo segundos
$segundos=(int)$hora1*(int)$hora2[2];
while(
$segundos>=60){
$segundos=$segundos-60;
$temp++;
}
//sumo minutos
$minutos=(int)$hora1*(int)$hora2[1]+$temp;
$temp=0;
while(
$minutos>=60){
$minutos=$minutos-60;
$temp++;
}
//sumo horas
$horas=(int)$hora1*(int)$hora2[0]+$temp;
if(
$horas<10)
$horas'0'.$horas;
if(
$minutos<10)
$minutos'0'.$minutos;
if(
$segundos<10)
$segundos'0'.$segundos;
$sum_hrs $horas.':'.$minutos.':'.$segundos;
return (
$sum_hrs);
}
echo 
suma_horas(2,"00:44:00");
?>
/////////////////////////////////////////
lo que quiero ahora es pasarla a un javascript
para no tener que recargar la pagina aqui les dejo el codigo de mas o menos como lo estaba implementando pero me atasque y no di para seguir mas espero me ayuden:
<script language="javascript">
var dias=document.form1.CantDias.value;
var duracion=document.form1.Duracion.value;
function CalcularHora(dias,duracion)
{
var duracion=explode(":",duracion);
var temp=0;

var segundos=dias*duracion[2];
while(segundos>=60)
{
segundos=segundos-60;
temp++;
}

var minutos=dias*duracion[1]+temp;
temp=0;
while(minutos>=60)
{
minutos=minutos-60;
temp++;
}

var horas=dias*duracion[0]+temp;
if(horas<10)
horas= "0".horas;
if(minutos<10)
minutos= "0".minutos;
if(segundos<10){
segundos= "0".segundos;
}
var sum_hrs = horas.":".minutos.":".segundos;
document.form1.Total.value=sum_hrs;
}
</script>
y este es el codigo completo de la pagina
/////////////////

<?php

////////Función que suma horas
function suma_horas ($hora1,$hora2){
$hora2=explode(":",$hora2);
$temp=0;
//sumo segundos
$segundos=(int)$hora1*(int)$hora2[2];
while($segundos>=60){
$segundos=$segundos-60;
$temp++;
}
//sumo minutos
$minutos=(int)$hora1*(int)$hora2[1]+$temp;
$temp=0;
while($minutos>=60){
$minutos=$minutos-60;
$temp++;
}
//sumo horas
$horas=(int)$hora1*(int)$hora2[0]+$temp;
if($horas<10)
$horas= '0'.$horas;
if($minutos<10)
$minutos= '0'.$minutos;
if($segundos<10)
$segundos= '0'.$segundos;
$sum_hrs = $horas.':'.$minutos.':'.$segundos;
return ($sum_hrs);
}
echo suma_horas(2,"00:44:00");
?>

<html>
<head>
<title>Calculo de horas</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<table width="311" border="1" align="center">
<tr align="center">
<td width="87">Numerode dias</td>
<td width="86">Duracion session</td>
<td width="64">Total</td>
</tr>
<tr align="center">
<td>
<select name="CantDias" id="CantDias">
<option>Elige</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td>
<input name="Duraccion" type="text" value="00:44:00"id="Duraccion" size="10" maxlength="10" readonly="readonly" /></td>
<td><label for="Total"></label>
<input name="Total" type="text" id="Total" size="10" maxlength="10" readonly="readonly" /></td>
</tr>
</table>

</form>
</body>
<script language="javascript">
var dias=document.form1.CantDias.value;
var duracion=document.form1.Duracion.value;
function CalcularHora(dias,duracion)
{
var duracion=explode(":",duracion);
var temp=0;

var segundos=dias*duracion[2];
while(segundos>=60)
{
segundos=segundos-60;
temp++;
}

var minutos=dias*duracion[1]+temp;
temp=0;
while(minutos>=60)
{
minutos=minutos-60;
temp++;
}

var horas=dias*duracion[0]+temp;
if(horas<10)
horas= "0".horas;
if(minutos<10)
minutos= "0".minutos;
if(segundos<10){
segundos= "0".segundos;
}
var sum_hrs = horas.":".minutos.":".segundos;
document.form1.Total.value=sum_hrs;
}
</script>
</html>