<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../includes/permissao.asp" -->
<!--#include file="../includes/configuracoes.asp" -->
<!--#include file="../includes/criptografia.asp" -->
<%
id_var = Request.Form("id")
qtde_var = Request.Form("quantidade")
dia_var = day(now)
mes_var = month(now)
ano_var = year(now)
data_cadastro = Cstr(ano_var) &"-"& Cstr(mes_var) &"-"& Cstr(dia_var)
Dim a
sql = "INSERT INTO intranet_provas (id_curso,criado_em,ativo,qtde_questoes) VALUES ("&id_var&",'"&data_cadastro&"','N','"&qtde_var&"')"
objConnect.Execute(sql)
sql1 = "SELECT MAX(id) AS id_total FROM intranet_provas"
set receb_ultimo = objConnect.Execute(sql1)
id_prova_var = receb_ultimo("id_total")
sql2 = "SELECT a.id_questao, b.peso FROM intranet_rel_questao_curso a "
sql2 = sql2 & " INNER JOIN intranet_questao b ON (a.id_questao = b.id) "
sql2 = sql2 & " WHERE a.id_curso = "&id_var&" ORDER BY RAND() LIMIT 0,"&qtde_var&" "
set gera_questoes = objConnect.Execute(sql2)
response.Write(sql2)
while not gera_questoes.eof
response.Write gera_questoes("id_questao") & " - " & gera_questoes("peso") & "<br>"
sql3 = "INSERT INTO intranet_provas_questoes (id_prova,id_questao) VALUES ("&id_prova_var&","&id_questao_var&")"
'objConnect.Execute(sql3)
gera_questoes.movenext()
wend
%>
<script>
//window.alert("PROVA GERADA COM SUCESSO!");
//location.href="provas.asp";
</script>
No cod a cima crio uma prova com questoes aleatoriamente como resultado abaixo:
SELECT a.id_questao, b.peso FROM intranet_rel_questao_curso a INNER JOIN intranet_questao b ON (a.id_questao = b.id) WHERE a.id_curso = 121 ORDER BY RAND() LIMIT 0,10
116 - 2 (116 - Questão cadastrada no sistema / 2 = Peso da questão)
110 - 3
113 - 2
113 - 2
114 - 2
141 - 3
134 - 2
132 - 2
130 - 1
107 - 1
110 - 3
113 - 2
113 - 2
114 - 2
141 - 3
134 - 2
132 - 2
130 - 1
107 - 1
Ou seja ele me busca 10 questões e seu peso aleatoriamente, a DUVIDA É???
Como faço para fazer um loop no cod para que eu determine o valor da soma dos pesos. Um exemplo eu quero 10 questoes e seu peso determinado seria 10(soma do peso das questões) e o certo seria ele me trazer 10 questoes de peso 1.