Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Salvar resultado de regas de avaliação no banco de dados

  • azevedoemersonh
  • azevedoemersonh's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 1 month ago #148789 by azevedoemersonh
Prezados,

Tenho um questionário que deve somar o valor das respostas para mostrar em qual nível o usuário se encaixa. Fazer a soma e exibi-la ao final eu consegui, fazendo com as "regras de avaliação.

1º Gostaria de saber se consigo salvar esse resultado da soma no banco de dados.

2º Seria possível ao invés de simplesmente somar, que ele fizesse alguma outra operação, tipo média por exemplo?

No momento a primeira questão é a mais importante, pois preciso que ele salve a soma dos valores no banco de dados e não apenas as respostas marcadas pelo usuário.

Grato.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 1 month ago #148825 by holch
Oi Emerson, boa tarde!

A soma dos valores dos 'assessments' não está salvo na base de dados por padrão. Você teria que incluir o valor dentro de uma pergunta tipo "equation". Melhor ainda: Faça seus calculos em uma equation, ai você também pode fazer muito mais do que receber apenas a soma. Da uma olhada no manual sobre o "expression manager". Não sei como é o nivel da documentação em Portugues, mas imagino que não deve ser tão bom como em Inglês. Então melhor dar uma olhada no Inglês.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: azevedoemersonh
The topic has been locked.
  • azevedoemersonh
  • azevedoemersonh's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
7 years 3 weeks ago #148873 by azevedoemersonh
Obrigado pela ajuda!

Pesquisando nos fóruns em inglês encontrei algo parecido e adaptei ao meu problema, vou deixar aqui a solução para ajudar caso alguém precise.

A ideia é criar uma nova pergunta, mas oculta-la do usuário, pois ele não irá responder ou alterar ela, apenas submeter com todo o questionário preenchido.

Ao final do questionário eu criei uma nova pergunta do tipo Entrada numérica .
O Código da pergunta coloquei ASSESSMENT (apenas para ficar fácil de identificar, você pode colocar o que for melhor).
No corpo da pergunta eu cliquei em Código-fonte e fiz o seguinte código javascript:

<script type="text/javascript">
jQuery(document).ready(function() {

//Busca o id do meu input (nova pergunta) e insere a soma das outras perguntas
document.getElementById('answer318969X9X31').value = "{sum(Q1P1.value,Q1P2.value,Q1P3.value)}";

// Caso o javascript não esconda a pergunta, evita que ele consiga alterar o valor no campo
$('#answer318969X9X31').attr( "readonly","readonly" );

});
</script><script>
$(document).ready(function(){
//Esconde a div da pergunta
$('#question31').hide();
});


answer318969X9X31 é o id (no código HTML) da minha "pergunta" (318969 é o código do meu questionário, 9 é o código do grupo e 31 é o código da pergunta.

{sum(Q1P1.value,Q1P2.value,Q1P3.value)} é a função de soma da própria ferramenta, Q1P1, Q1P2 e Q1P3 foi o código que defini das outras perguntas do questionário, o .value é para acessar o valor da variável.

$('#question31').hide(); usei para esconder toda a div da pergunta para que ela não apareça para o usuário e ele não consiga alterar o valor da soma.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
7 years 3 weeks ago #148928 by holch
Não testei a solução, mas acho que você complicou a coisa desnecessariamente.

Se você coloca este código dentro de uma pergunta tipo "equation" e marca esta pergunta escondida nas configurações você resolveu o problema totalmente sem Javascript.
Code:
{sum(Q1P1.value,Q1P2.value,Q1P3.value)}

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose