Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2018, 14:24
chumy_
 
Fecha de Ingreso: noviembre-2011
Mensajes: 121
Antigüedad: 13 años, 1 mes
Puntos: 0
guardar al perder el foco

Estimados, tengo el siguiente problema...

Tengo una tabla dinamica, la cual en cada celda tiene un input visible (y otros ocultos), y cada celda es un form distinto.

Este es el código donde estoy trabajando.
Código PHP:
<?php while ($ver mysqli_fetch_row($alumnos)){ ?>
                  <tr style='vertical-align: middle;'>
                <td><?php echo strtoupper($ver[4]." ".$ver[5]." ".$ver[6]); ?></td>
                <?php 
                    
for ($i=0;$i<$cantidad_notas;$i++){
                        
$na mysqli_fetch_row($notas);?>
                        <td><form id="form" name="form" method="post">
                            <input type="hidden" id="id_curso" name="id_curso" value="<?php echo $id_curso ?>"/>
                            <input type="hidden" id="id_asignatura" name="id_asignatura" value="<?php echo $id_asignatura ?>"/>
                            <input type="hidden" id="semestre" name="semestre" value="<?php echo $semestre ?>"/>
                            <input type="hidden" id="anho" name="anho" value="<?php echo $anho ?>"/>
                            <input type="hidden" id="id_alumno" name="id_alumno" value="<?php echo $ver[0?>"/>
                            <input type="hidden"  class="form-control-sm" id="id_nota" name="nota" size="1" value="<?php echo $na[0]; ?>"/>
                            <input type="text"  class="form-control-sm" id="nota" name="nota" size="1" value="<?php echo $na[4]; ?>"/>
                            </form>
                        </td>
                <?php ?>
                    <td>
                        <?php
                            $promedio 
0;
                            for (
$j=0;$j<$contador_notas;$j++){
                                
$no mysqli_fetch_row($notas2);
                                
$promedio $promedio+$no[4];
                            }
                            echo 
round($promedio/$contador_notas1PHP_ROUND_HALF_UP);
                        
?>
                    </td>
                  </tr>
               <?php }    ?>


El tema es que necesito, de alguna forma, que cada vez que cambie de celda se registre el cambio en la base de datos.

Tengo pensado en hacerlo con Ajax, pero al salir de la celda no se envían los datos del formulario.

Código:
function actualizarNota(){
	
	var id_nota = parseInt(document.getElementById("id_nota").value);
	var id_curso = parseInt(document.getElementById("id_curso").value);
	var id_asignatura = parseInt(document.getElementById("id_asignatura").value);
	var id_alumno = parseInt(document.getElementById("id_alumno").value);
	var nota = parseFloat(document.getElementById("nota").value);
	var semestre = parseInt(document.getElementById("semestre").value);
	var anho = parseInt(document.getElementById("anho").value);
	
	string=
		"id_notas=" + id_notas +
		"&id_curso=" + id_curso +
		"&id_asignatura=" + id_asignatura +
		"&id_alumno=" + id_alumno +
		"&nota=" + nota +
		"&semestre=" + semestre +
		"&anho=" + anho;
		
	$.ajax({
	type:"POST",
	url:"../notasv2/agregarNota.php",
	data:string,
	success:function(r){
		if(r==1){
				$('#tabla').load('tabla_NOTAS.php');
				alertify.success("Agregada correctamente");
			}else{
		   		alertify.error(r);
		   }
	}
	})	
}
Alguna guía de por donde deba atacar el problema?

Última edición por chumy_; 04/05/2018 a las 14:25 Razón: falta informacion