Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2009, 15:59
icarocu
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta ayuda.. solo me multiplica primeros campos

Hola amigos..

tengo un form que crea una tabla con una cantidad variable de filas (segun el resultado de mysql)..

la tabla me entrega los campos "Precios Unitarios" - "Cantidad Contratada - "Cantidad Ejecutada" y "Sub_t"

he logrado con un par de funciones, me sume el total de la columna "cantidad ejecutada", PEROO... quiero que tambien me calcule todos los vaores "Sub_t".... pero solo me multiplica SOLO la primera casilla... las siguientes no pasa nada .. ayudenme porfavor ...

esta es toda la pagina.php

Código PHP:
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

<script type="text/javascript">

function sumar(){
  var a, total = 0;
  var elements = document.getElementsByName('horast[]');
  
   for(a=0; a<elements.length; a++){
          total += (parseFloat(elements[a].value));
   }
   
   document.getElementById("resultado").value = total * 1;
}

function multiplicar(){

cant_contratadas = document.getElementById("tiempo_cont[]").value;
m1 = document.getElementById("horast[]").value;
m2 = document.getElementById("valor_hono[]").value;
r = m2 * m1 / cant_contratadas;
document.getElementById("resultado_multip[]").value = r;
}
</script>

<form method="post" name="form">
  <table width="90%" border="0" cellspacing="5" class="texto_1">
    <!--DWLayoutTable-->
    <tr>
      <td width="28%" height="20" valign="top"><span class="titulo2">Cargos</span></td>
      <td>&nbsp;</td>
    </tr>
  </table>
  <table width="90%" border="1" class="texto_1" cellspacing="4" >
    <?php
$conexion
mysql_connect("localhost","icaro","icaro"
or die (
"no se pudo conectar con el servidorssssssss");
mysql_select_db("administracion",$conexion)or die ("problemas en la conexion a la base de datos");

$nom_tecnico=$_POST['contrato'];

$celda_cargos=mysql_query("select * from cargos where nom_contrato='$nom_tecnico' order by id",$conexion) or die ("cago".mysql_error());    

echo 
"<tr align='center'><td class='style14'>Precios<br>Unitarios</td><td class='style14'>Cantidad<br>Contratada</td><td class='style14'>Cantidad<br>Ejecutada</td><td class='style14'>Sub_t</td></tr>";
for (
$i 0$i mysql_num_rows($celda_cargos); ++$i)
{  
$columna mysql_fetch_row($celda_cargos); 
$pago=number_format($columna[9],0,",","."); 
  
echo 
"<tr><td align='center'>$ $columna[9]<input name='valor_hono[]' type='hidden' id='valor_hono[]' value='$columna[9]'/></td><td align='center'>$columna[6]<input name='tiempo_cont[]' type='hidden' id='tiempo_cont[]' value='$columna[6]'/></td><td align='center'><input name='horast[]' type='text' size='4' id='horast[]' onChange='multiplicar()' onkeyup='sumar()' value='0'/></td><td><input type='text' name='resultado_multip[]' id='resultado_multip[]' value='0' size='8' readonly='readonly'/></td></tr>";  


echo 
"<tr><td colspan='2' align='right'>Sub total</td><td><input type='text' readonly='readonly' value='0' id='resultado' size='8'/></td><td></td></tr>"
?>
    </table>
  </form> 

</body> 
</html>