Tengo un problemilla que es el siguiente.Tengo dos tablas una llamada realiza y otra componen.
La primera tiene los siguientes campos (idAlumno,idCurso,IdModulo,Nota)
La segunda tablas los siguientes campos (idCuso,IdModulo,numero).NOTA: Un curso se compone da varios modulos.
Pues bien yo quiero hacer que segun un idCurso y un idAlumno, se introduzcan en la tabla primera tantos campos como IdModulos tenga el curso.Por ejemplo:
Tengo en la segunda tabla metido idCurso 1 1 1
idModulo 1 2 3
numero 1 2 3
Pues bien para el alumno pepito(idAlumno), curso 1 (idcurso) quisiera meter tantos campos como modulos tiene mi curso en este caso son 3.Quedando de la siguiente forma.
idAlumno pepito pepito pepito
idcurso 1 1 1
idModulo 1 2 3
nota 0 0 0
Pues bien yo lo he intetado de la siguiente forma:
Código :
function insertarenrealiza($alumno,$curso){ $curso = utf8_encode($curso); //<-- utf8_encode para que php entienda el escape() de flash $alumno = utf8_encode($alumno);//<-- igual $op=0;//variable para veces realizado $op2=0.0;//variable double para la nota //creamos la cadena de nuestra sentencia(query) SQL $sql="SELECT idModulo FROM componen WHERE idCurso='".$curso."'"; $res=query($sql,0); if (mysql_num_rows($res)>0){ while ($fila=mysql_fetch_row($res)){ $sql= "INSERT INTO realiza (idAlumno,idCurso,idModulo,vecesrealizado,nota) vALUES ('".$alumno."','".$curso."','".$fila->idModulo."','".$op2."')"; query($sql,1); } } return 1;//retornamos el id de nuestro registro insertado } function query ($sql, $accion){ $conex=mysql_connect(HOSTNAME,USERNAME,PASSWORD) or die("no se puede conectar con la base de datos"); mysql_select_db(DATABASE,$conex); $result= mysql_query($sql,$conex); if ($accion && result){ //Excepcion del INSERT, comparamos result por si la inserción fue correcta :P $result= mysql_insert_id(); } mysql_close($conex); return $result; //Consultar retonara un recordSet //Modificar y Eliminar 1 si fue correcto o 0 en caso contrario //Insertar retornara el id recien creado }
Pues no me funciona.Espero haber me explicado.
Si alguien sabe como se hace o tiene alguna idea le estaria agradecido.
Muchas gracias
Un saludo