Foros del Web » Programando para Internet » PHP »

Edición y Función Sumar...

Estas en el tema de Edición y Función Sumar... en el foro de PHP en Foros del Web. Hola que tal... tengo un problema a la hora de cargar un formulario que contiene 20 checkbox, 12 los utilizo para hacer una suma que ...
  #1 (permalink)  
Antiguo 03/07/2011, 21:37
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Edición y Función Sumar...

Hola que tal... tengo un problema a la hora de cargar un formulario que contiene 20 checkbox, 12 los utilizo para hacer una suma que al irlos activando en un campo de texto me muestra la cantidad que se acumula y los otros 10 con otra función de suma que en su determinado campo de texto me muestra su cantidad. Eso lo hago perfectamente a la hora de insertarlos a la BD, pero a la hora de cargarlos para su edición si me aparecen activados tal y como los guarde teniendo su respectiva cantidad cada función, y a la hora de seguir activando los que no habia activado me empieza la suma desde cero; Pero lo que quisiera es que teniendo la cantidad que tengo guardada en la BD y por ende los checkbox correspondientes al hacer clic en los demás me vaya haciendo la suma y no desde cero.
Este es mi codigo:
[HIGHLIGHT="Javascript"][/HI<script>
var total=0;
function sumar(valor) {
total += valor;
document.formulario.total.value=total;
}

function restar(valor) {
total-=valor;
document.formulario.total.value=total;
}
</script>
<script>
var total2=0;
function sumar1(valor) {
total2 += valor;
document.formulario.total2.value=total2;
}

function restar1(valor) {
total2-=valor;
document.formulario.total2.value=total2;
}
</script>GHLIGHT]
  #2 (permalink)  
Antiguo 03/07/2011, 21:39
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Respuesta: Edición y Función Sumar...

codigo PHP
Código PHP:
Ver original
  1. <?php
  2.         include("conexion.php");
  3. //Consultar el Residente a modificar
  4.     $list_campos=mysql_query("SELECT * FROM isistemas WHERE nombre_residente='". $_GET["nomres"] ."';",$conexion);
  5.     if (mysql_num_rows($list_campos)==0)
  6.     {
  7.         mysql_close($conexion);
  8.         echo mostrar_mensaje("Residente no encontrado","El Residente con el nombre {$_GET['nomres']} no existe en la BD","<a href='javascript:history.go(-1)>Regresar</a>");
  9.         exit();
  10.     }  
  11.     $fila_campos=mysql_fetch_array($list_campos);
  12.     //variables de los checkbox´s
  13.     $check1=$fila_campos['formato_solicitud_residencias'];
  14.     $check2=$fila_campos['ante_proyecto'];
  15.     $check3=$fila_campos['copia_asignacion_asesor'];
  16.     $check4=$fila_campos['carta_presentacion'];
  17.     $check5=$fila_campos['copia_liberacion_sersocial'];
  18.     $check61=$fila_campos['avances_bim_proyecto_1'];
  19.     $check62=$fila_campos['avances_bim_proyecto_2'];
  20.     $check63=$fila_campos['avances_bim_proyecto_3'];  
  21.     $check7=$fila_campos['copia_liberacion_ingles'];
  22.     $check8=$fila_campos['copia_liberacion_residencias_empresa'];
  23.     $check9=$fila_campos['solicitud_cal_residencias'];
  24.     $check10=$fila_campos['copia_formato_revisor'];
  25.     $check11=$fila_campos['solicitud_titulacion'];
  26.     $check12=$fila_campos['autorizacion_empastado'];
  27.     $check13=$fila_campos['copia_certificado_estudios'];
  28.     $check14=$fila_campos['copia_const_serv_social_res'];
  29.     $check15=$fila_campos['copia_const_ingles'];
  30.     $check16=$fila_campos['copia_acta_nacimiento'];
  31.     $check17=$fila_campos['copia_const_noadeudo'];
  32.     $check18=$fila_campos['ejemplares_empastados'];  
  33.     $check19=$fila_campos['asignacion_sinodales'];
  34.     $check20=$fila_campos['curriculum'];
  35.     //fin variables de los checkbox´s  
  36.         ?>
  37. .
  38. .
  39. .
  40. <input name="checkbox1" type="checkbox" <?php echo $check1 == '1' ? 'checked' : ''; ?>   onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> 1.Formato P/Solicitud de Residencias Profesionales
  41.                 (SNEST/D-AC-PO-007-01)&nbsp;&nbsp; </span>
  42.             <br ><span class="auto-style11"><br >&nbsp;<input type="checkbox" value="2" name="checkbox2" <?php echo $check2 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> 2.Ante Proyecto (Radiografía del
  43.                 Proyecto)&nbsp;&nbsp; </span><br >
  44.             <br ><span class="auto-style11"> &nbsp;<input type="checkbox" value="3" name="checkbox3" <?php echo $check3 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>3.Copia del Formato de Asignación de Asesor P /R.P (SNEST/D-AC-PO-007-02)<span class="auto-style11">&nbsp;&nbsp; </span><br >
  45.             <span class="auto-style11"><br >            <span class="auto-style11"> &nbsp;<input type="checkbox" value="4" name="checkbox4" <?php echo $check4 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>4.Carta de presentación
  46.                 (SNEST/D-AC-PO-007-03) Copia de Aceptación por la&nbsp;Empresa&nbsp;&nbsp; </span><br >
  47.             <span class="auto-style11"><br >            <span class="auto-style11"> &nbsp;<input type="checkbox" value="5" name="checkbox5" <?php echo $check5 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>5.Copia de constancia liberación del
  48.                 Servicio Social&nbsp;&nbsp; </span><br >
  49.             <span class="auto-style11"><br >            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.Avances Bimestrales del Proyecto
  50.                 (SNEST/D-AC-PO-007-05)&nbsp;&nbsp; <br><br>&nbsp;<input type="checkbox" name="checkbox6_1" <?php echo $check61 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)" value="61">&nbsp;1er avance&nbsp;<input type="checkbox" name="checkbox6_2" <?php echo $check62 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)" value="62">&nbsp;2do avance&nbsp;<input type="checkbox" name="checkbox6_3" <?php echo $check63 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)" value="63">&nbsp;3er avance<br >
  51.             <br >           <span class="auto-style11"> &nbsp;<input type="checkbox" value="7" name="checkbox7" <?php echo $check7 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>7.Copia de liberación del Ingles&nbsp;&nbsp; <br >
  52.             <br >           <span class="auto-style11"> &nbsp;<input type="checkbox" value="8" name="checkbox8" <?php echo $check8 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>8. Copia de liberación de Residencias por la Empresa&nbsp;&nbsp; <br >
  53.             <br >           <span class="auto-style11">&nbsp;<input type="checkbox" value="9" name="checkbox9" <?php echo $check9 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>9. Solicitud de Calificación de Termino de Residencias&nbsp;&nbsp;<br >
  54.             <br >           <span class="auto-style11"> &nbsp;<input type="checkbox" value="10" name="checkbox10" <?php echo $check10 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar(8.3333333333333333333333333333333); else restar(8.3333333333333333333333333333333)"> </span>10. Copia del Formato de Asignación de Revisor R.P. (SNEST/D-AC-PO-007-06)&nbsp;&nbsp; <br >
  55.             <br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Avances de Residencias: </span><input type=text name=total style="width: 34px"value="<?php echo $fila_campos['porciento_avances']?>">
  56.             <span class="auto-style8">%</span><br>
  57.             <br>
  58.             </td>
  59.             <td style="width: 456px" class="auto-style3"><br >&nbsp;<input name="checkbox11" <?php echo $check11 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="11" type="checkbox"> Solicitud de tramite de titulación&nbsp;&nbsp;&nbsp;&nbsp; <br ><br >
  60.             <span class="auto-style11">&nbsp;<input name="checkbox12" <?php echo $check12 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="12" type="checkbox"> Autorización de empastado&nbsp;&nbsp;
  61.                     <br ><br >&nbsp;<span class="auto-style11"><input name="checkbox13"  <?php echo $check14 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="13" type="checkbox"> </span>Copia de certificado de estudios&nbsp;&nbsp; <br >
  62.             <br >&nbsp;<input name="checkbox14" <?php echo $check14 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="14"type="checkbox"> Copia de constancia de
  63.                 servicio social residencias&nbsp;&nbsp;&nbsp; <br >
  64.             <br >&nbsp;<span class="auto-style11"><input name="checkbox15" <?php echo $check15 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="15" type="checkbox"> </span>Copia de la constancia del idioma
  65.                 inglés&nbsp;&nbsp; <br ><br >&nbsp;<input name="checkbox16" <?php echo $check16 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="16" type="checkbox"> Copia del acta de nacimiento&nbsp;&nbsp; <br >
  66.             <br >&nbsp;<span class="auto-style11"><input name="checkbox17" <?php echo $check17 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="17" type="checkbox"> </span>Copia de constancia de
  67.                 no adeudo&nbsp;&nbsp; <br ><br >&nbsp;<span class="auto-style11"><input name="checkbox18" <?php echo $check18 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="18" type="checkbox"> </span>4 Ejemplares impresos empastados y un cd
  68.             (constancia de entrega cd a biblioteca)&nbsp;&nbsp; <br >
  69.             <br >&nbsp;<input name="checkbox19" <?php echo $check19 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="19" type="checkbox"> Asignación de
  70.                 sinodales&nbsp;&nbsp;<br><br>&nbsp;<input name="checkbox20" type="checkbox" <?php echo $check20 == '1' ? 'checked' : ''; ?> onclick="if (this.checked) sumar1(10); else restar1(10)" value="20">
  71.             Curriculum <br ><br >&nbsp;Fecha de exámen:
  72.              <input name="fecha_examen" type="text" id="dateArrival1" onclick="popUpCalendar(this, formulario.dateArrival1, 'dd-mm-yyyy');" size="10" value="<?php echo $fila_campos['fecha_examen']?>"><br>
  73.             <br>&nbsp;Avances de Titulación:
  74.             <input type=text name=total2 style="width: 34px"value="<?php echo $fila_campos['porciento_avances_titu']?>">
  #3 (permalink)  
Antiguo 05/07/2011, 08:36
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Edición y Función Sumar...

Desde ya que es un problema de javascript. Y la primera linea dice:
var total=0;

No será que esa linea tiene que recibir el valor desde PHP? Algo así:

Código PHP:
Ver original
  1. <php if ($valor != 0): ?>
  2. var total= <?php echo $valor; ?>;
  3. <php else: ?>
  4. var total=0;
  5. <?php endif; ?>
  #4 (permalink)  
Antiguo 05/07/2011, 11:47
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Respuesta: Edición y Función Sumar...

teneis razon como le hago en el script para obtener el valor pero que esta guardado en la BD en el campo "porciento_avances" y su campo en el formulario se llama "total"

para que la variable total no empieze desde cero sino desde la cantidad ya guardada en la bd

Código Javascript:
Ver original
  1. <script>
  2. var total=0;
  3. function sumar(valor) {
  4. total += valor;
  5. document.formulario.total.value=total;
  6. }
  7.  
  8. function restar(valor) {
  9. total-=valor;
  10. document.formulario.total.value=total;
  11. }
  12. </script>

Gracias y saludos!!!

Última edición por totti026; 05/07/2011 a las 13:07
  #5 (permalink)  
Antiguo 05/07/2011, 13:57
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Edición y Función Sumar...

Cita:
como le hago en el script para obtener el valor pero que esta guardado en la BD en el campo "porciento_avances" y su campo en el formulario se llama "total"
Eso no te lo voy a decir yo. Supuestamente tienes que saberlo ya! Posteaste otras consultas a bd.

Cita:
para que la variable total no empieze desde cero sino desde la cantidad ya guardada en la bd
A esto ya lo respondí.

Etiquetas: edición
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 09:33.