Hola markosar200294,
Nota que tu código altera la variable $respuesta dentro del loop WHILE y por tanto la condición $filas = mysql_fetch_array($respuesta) se cumple una sola vez.
Una posible solución es no volver a usar la variable $respuesta hasta salir del WHILE loop. Es decir, cambia $respuesta = mysql_query(..) por $otra_variable = mysql_query(..) mientras dentro del WHILE.
Por ejemplo:
PHP Code:
while ($filas = mysql_fetch_array($respuesta))
{
$comprobar = "SELECT * FROM material_accedido WHERE Id_alumno='$pos' AND Id_material=$filas[0]";
$no_existe = mysql_query($comprobar,$conexion);
if (comprobar_cons_vacia ($no_existe))
{
mensaje ("esta no existia");
$query = "INSERT INTO material_accedido (Id_alumno, Id_material, estado, oculto)
VALUES ($pos, $filas[0], 0, 0)";
$agregar = mysql_query($query,$conexion);
}
}
Por otra parte, me permito recomendarte que uses PDO Prepared SQL statements que es mucho mas seguro que el antiguo mysql_query()