Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/11/2009, 00:30
K-SuMa
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Ayuda con ingresar datos a la bd!!!!!!!!!!

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