Gaushito, como lo pintas me imagino q solo se registra una nota a la vez, bueno si es ese el caso antes de actualizar primero debes saber que nota fue la ultima ingresada, esto lo puedes saber con una consulta:
Código PHP:
// preguntando en orden si el campo es nulo devuelo el nombre del campo
// en caso las 4 notas esten llenas devolvemos "notas completas"
$sql="select if(isnull(nota_1), 'nota_1', if(isnull(nota_2), 'nota_2', if(isnull(nota_3), 'nota_3', if(isnull(nota_4), 'nota_4', 'notas completas')))) as campo
from notas
where id_alumno='$Rut'
and nombre_curso ='$nombre_curso'
and nombre_asignatura ='$asignatura'";
$result=mysql_query($sql, $Escuela);
//ya se realizo un registro hay q actualizarlo
if (mysql_fetch_row($result)>0):
$rs=mysql_fetch_array($result);
$campo=$rs['campo']; //obtenemos el campo a actualizar
if($campo!="notas completas"): // validamos que las 4 notas aun no esten ingresadas
$sql="update notas set $campo=$Nota
where id_alumno='$Rut' and nombre_curso ='$nombre_curso'
and nombre_asignatura ='$asignatura'";
endif;
else: // si no hay registro hacemos un insert
$sql="insert into notas (nombre_asignatura,id_alumno,nota_1) values
('$asignatura','$Rut','$nombre_curso','$Nota')";
endif;
$result = mysql_query($sql, $Escuela);
Para ello tu tabla notas deberia estar diseñada para almacenar valores nulos, pues si tuviera la restriccion de not null, este almacenaria en los campos nota_1, nota_2, nota_3 y nota_4 el valor por defecto de 0 y el isnull no funcionaria, si bien puedes preguntar por si la es cero esto no te dejaria avanzar para el caso en q el alumno realmente tenga cero. espero te sirva de ayuda este codigo, en realidad no lo he probado pero debe de funcionar. Cualquier cosa como es costumbre en este foro no dudes en publicarla.
Salu2,
K-suma