-
Similar Content
-
By DuduBacteria
Tenho uma Tabela chamada "VENDAS" com os seguintes atributos:
Eu quero retornar em MySQL o total de vendas ocorridos durante 1 semana, entre o dia atual até seis dias atrás.
Ficando mais ou menos assim:
SEMANA TOTAL DE VENDIDO segunda 250.00 domingo 430.00 sábado 160.50 sexta 300.03 quinta 300.03 quarta 300.03 terça 300.03 -
By joagostini
Olá, sou iniciante, e estou fazendo, como exercício, o jogo da velha. 'Desenvolvi' uma rotina de escolha de nível do jogo (serão 3 níveis) que deve aguardar a escolha do usuário para o programa prosseguir. Mas acho que não entendi direito como o javascript funciona, pois o que fiz não funciona e não encontrei uma solução (talvez não saíba como pesquisar corretamente o assunto na web).
O começo do HTML (que é pouco) onde está um select para escolha do nível é este:
<body> <div id="dvmenu"> <button onclick="iniciar()">Iniciar Jogo</button> <p><br></p> <div id="dvQuemComeca"> <label for="nivel">Escolha o nivel:</label> <select id="nivel" onChange='atualiza()'> <option value=0 selected>Escolha um nível</option> <option value=1>Nível 1 - Brincadeira</option> <option value=2>Nivel 2 - Surpresa</option> <option value=3>Nível 3 - Desafio</option> </select> </div> <div id="jogador" class="jogador"></div> <div id="vencedor" class="jogador"></div> </div>
O código JS é este:
//INÍCIO VEM DE LOAD function iniciar() { casela = document.querySelectorAll('div[id^="p"]'); for (let cas of casela) { cas.innerHTML = ''; } for (let i = 0; i < 9; i++){ tab = tab; } console.log(tab); nivel = 0; msg = ''; qtosLancesJog = 0; sorteiaJogador(); //até aqui funcionou direito } //-------------------------------------------------------------------- //ESCOLHA DO NÍVEL DO JOGO function atualiza(){ let selecao = document.querySelector('#nivel'); let opcao = selecao.options[selecao.selectedIndex]; return opcao.value; } //-------------------------------------------------------------------- //SORTEIA QUEM VAI COMEÇAR JOGANDO //função para definir o jogador que inicia o tab function sorteiaJogador() {//funcionou direito let quemComeca = parseInt(Math.floor(Math.random() * 2)); if (quemComeca == 0) { msg = 'Computador'; //setTimeout(lanceCpu, 2000);//dá um intervalo antes do computador realizar o 1 lance lanceCpu(); } else msg = 'Humano';//neste caso a rotina espera que o jogador clique no tabuleiro, qdo roda a função lancetab(pos) lanceHumano(); document.querySelector('#jogador').innerHTML = `<br>O ${msg} começa!`; } //-------------------------------------------------------------------- //ESCOLHA RANDÔMICA, NIVEL = 1, Da POSIÇÃO DO LANCE DA CPU NO tabULEIRO function jogouCpu(){//funcionou direito //nível 1 modo randômico pos = Math.floor(Math.random() * 9); return pos; } //função humana function lanceHumano(){ console.log('Estou na função humana'); do { nivel = atualiza(); console.log(nivel); } while (nivel === 0); console.log(nivel + ' passei direto'); }
O problema está nesse do...while da function lanceHumano(). Segundo entendi, ele prosseguiria apenas quando nivel!== 0, caso contrário, ficaria 'preso' até o momento que o usuário escolhesse uma das opções. Pelo HTML percebesse que setei o select para value=0. Mas ele nem se dá ao trabalho de esperar um miléssimo de segundo, segue em frente com o valor que tiver, no caso 0. O while não tem efeito. Essa minha perspectiva está errada? Se sim, o que fazer? (paradigma funcional, await?) Obrigado.
P.S.. No código tem uns conole.logs que servem watch-dogs para ajudar a entender por onde vão as rotinas.
-
By Thiago Btos
Boa tarde pessoal.
Estou travado em uma parte do select do qual preciso somar os valores de todos os registros da coluna, e usa-lo como base de calculo para outra coluna
SELECT PRODUTO, HORAS, QTDE, VARIACAO FROM DUAL
Meu select está retornando algo assim:
PRODUTO | HORAS | QTDE | VARIACAO
A | 2 | 20 | 5
B | 6 | 25 | 3
C | 5 | 70 | 9
D | 8 | 30 | 2
--------------------------------------------------------
Total | 21 | 145 |
Preciso criar uma nova coluna com a formula (Total Qtde / Total horas) * variação ficando assim:
PRODUTO | HORAS | QTDE | VARIACAO | CONTA
A | 2 | 20 | 5 | 34.52
B | 6 | 25 | 3 | 20.71
C | 5 | 70 | 9 | 62.14
D | 8 | 30 | 2 | 13.80
A forma que estou tentando fazer é via subselect, mas ele não agrupa todas as linhas, e somente o registro da linha atual.
SELECT PRODUTO, HORAS, QTDE, VARIACAO,
(SELECT (SUM(QTDE) / SUM(HORAS)) * VARIACAO) AS CONTA
FROM DUAL
Dessa forma me retorna o seguinte resultado, como se estive calculando somente a linha atual e não toda a coluna.
PRODUTO | HORAS | QTDE | VARIACAO | CONTA
A | 2 | 20 | 5 | 50
B | 6 | 25 | 3 | 12.5
C | 5 | 70 | 9 | 126
D | 8 | 30 | 2 | 7.5
Espero que eu tenha conseguido explicar minha necessidade de forma que de para entender.
-
By Kefatif
Prezados, boa tarde.
Estou com uma dúvida:
Estou precisando trazer dados do banco para uma tela de edição de cadastro, até aí tudo bem consegui fazer para os input através do código abaixo:
<label style="width:16%;margin-left: 2%;">Data de Início<br> <input type="date" value="<?php echo $row["DATA_DISPENSACAO"] ?>" class="form-control" style="width:100%;"> </label>
Mas o meu select já traz o controle de peso do banco, eu gostaria que além dele trazer esses pesos que traga o salvo no cadastro de uma pessoa para visualização e edição.
Segue abaixo o código do select como está:
<label style="width:15%">Peso<b style="color:red">*</b><br> <select name="peso" class="form-control" required style="width:100%" value="<?php echo $row["DATA_TESTE"] ?>"> <option value="">Selecione</option> <?php $sqlpeso = "select distinct PESO from TESTE where ID_ESQUEMA = ".$row["ID_ESQUEMA"]; $resultpeso = mysqli_query($con, $sqlpeso); while ($rowpeso= mysqli_fetch_array($resultpeso)){ ?> <option value="<?php echo utf8_encode($rowpeso["PESO"]);?>" ><?php echo utf8_encode($rowpeso["PESO"]); ?></option> <?php } ?> </select> </label>
Meu banco é MYSQL.
Agradeço desde já a todos pela ajuda.
Abraço!
-