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
