btrevisol 0 Denunciar post Postado Agosto 18, 2011 Vou tentar fazer o código para a soma. Sobre o loop, fiz do jeito que você explicou no post anterior, mas continua retornando os valores repetidos, mesmo com os IDs diferentes. E ele esta repetindo os checkbox umas 10 vezes, mas só o primeiro retorna o valor, sabe porque?? while( $dados = mysql_fetch_assoc( $exec ) ){ ?> <label>Agenda de Eventos<input type="checkbox" name="" value="" onclick="document.getElementById('valor1').style.display='block';" /> <span id="valor1" style="display: none;"><?php echo $dados['valor'];?></span></label></br> <label>Área Restrita<input type="checkbox" name="" value="" onclick="document.getElementById('valor2').style.display='block';" /> <span id="valor2" style="display: none;"><?php echo $dados['valor'];?></span></label></br> <?php }//fecha while ?> Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 $i = 0; while( $dados = mysql_fetch_assoc( $exec ) ){ ?> <label>Agenda de Eventos<input type="checkbox" name="" value="" onclick="document.getElementById('valor<?php echo $i; ?>').style.display='block';" /> <span id="valor<?php echo $i; ?>" style="display: none;"><?php echo $dados['valor'];?></span></label></br> <?php $i++; }//fecha while ?> estude programação básica. Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 ele continua repetindo, ele ta mostrando assim. Agenda de Eventos 150 Área Restrita 150 Agenda de Eventos 480 Área Restrita 480 Agenda de Eventos 810 Área Restrita 810 Agenda de Eventos 90 Área Restrita 90 . . . pode deixar que eu estou estudando. Obrigado, você esta ajudando muito. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 você precisa alterar a chave.. não conheço os campos da tua tabela, por isso não sei oq te indicar. Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 Minha tabela é bem simples no phpmyadmin. id_opcional nome valor entrada hospedagem valor_a_vista 1 Agenda de Eventos 330 165 5 303 2 Area Restrita 150 75 5 138 3 Banco de Arquivos 480 240 5 441 4 Cadastro 810 405 10 745 5 Contador de Visitas 90 45 2 82 Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 então pelo que entendi: $i = 0; while( $dados = mysql_fetch_assoc( $exec ) ){ ?> <label><?php echo $dados['nome']; ?><input type="checkbox" name="<?php echo $dados['nome']; ?>" value="" onclick="document.getElementById('valor<?php echo $i; ?>').style.display='block';" /> <span id="valor<?php echo $i; ?>" style="display: none;"><?php echo $dados['valor'];?></span></label></br> <?php $i++; }//fecha while ?> Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 È isso mesmo funcionou, ele só esta pulando o primeiro id, esta começando pelo segundo. Você sabe algum jeito de fazer o resultado do checkbox aparecer na frente dele ao invés de aparecer na linha de baixo? Muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 mude a ordem do html. Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 beleza deu certo, valeu!! Cara como que eu faço para esses valores dos checkbox, aparecerem todos junto em um label. Assim, conforme vou escolhendo os checkbox que eu quero, ele vai mostrando e somando eles automatico, sem aparecer separados um a um. Não sei se a explicação ficou clara. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 não, não ficou claro. cara, até agora estou resolvendo pra ti o sistema.. tenta fazer cara.. pensa.. não dá para eu ficar te falando tudo.. Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 Bom cara, a intenção do topico é ajudar outras pessoas que estão precisando. Eu estou tentando fazer sozinho mas não estou conseguindo, por isso estou aqui pedindo a sua ajuda. O que eu estou tentando fazer é o seguinte. Tenho varioas checkbox na tela. Quando eu clico neles abre a valor deles. Eu quero que ao clicar no checkbox ao invés de mostrar esses valores separadamente na frente do checkbox, ele armazena todos os valores em um campo texto só, para conforme eu ir clicando nos checkbox ele vai adicionando nesse campo todos os valores, vai somando um a um. entendeu?? Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 $i = 0; while( $dados = mysql_fetch_assoc( $exec ) ){ ?> <label><?php echo $dados['nome']; ?><input type="checkbox" name="<?php echo $dados['nome']; ?>" value="<?php echo $dados['valor'];?>" onclick="document.getElementById('valor<?php echo $i; ?>').style.display='block'; document.getElementById('total').value = this.checked ? document.getElementById('total').value+this.value : document.getElementById('total').value-this.value;" /> <span id="valor<?php echo $i; ?>" style="display: none;"><?php echo $dados['valor'];?></span></label></br> <?php $i++; }//fecha while ?> <input type="text" name="total" id="total" value="0" /> Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 Cara muito obrigado era exatamente isso que eu queria, ja fiz umas modificações para não aparecer mais na frente do checkbox. Mas estou com um problema, não estou conseguindo fazer ele somar os valores, ele esta só mostrando um na frente do outro dentro do campo. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 esses valores são inteiros ? do tipo float? ou estão formatados em moeda brasileira ? parseInt(), parseFloat(), ou .replace() para corrigir a virgula. Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 os valores estão do tipo Decimal, mas qualquer coisa posso alteralos sem problema. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 tente assim: <label><?php echo $dados['nome']; ?><input type="checkbox" name="<?php echo $dados['nome']; ?>" value="<?php echo $dados['valor'];?>" onclick="somar_mostrar( this, <?php echo $i; ?> )" /> e ai em outro canto, de html puro: <script type="text/javascript"> function somar_mostrar( el, i ){ document.getElementById('valor'+i).style.display='block'; document.getElementById('total').value = el.checked ? parseFloat( document.getElementById('total').value+el.value ) : parseFloat( document.getElementById('total').value-el.value ); }</script> Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 Acho que eu inseri certo o javascript e o código php. Eu fiz do jeito que você falou, mas ele ficou um pouco louco.rs Demora muito para abrir a pagina, quando clico em um checkbox ele clica em outros sozinho e mesmo assim não esta retornando valor nenhum no campo texto. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 Ctrl+Shif+J e debugue o teu código. http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/ Compartilhar este post Link para o post Compartilhar em outros sites
btrevisol 0 Denunciar post Postado Agosto 18, 2011 Esse é o erro que esta aparecendo no debug. Erro: document.getElementById("valor" + i) is null Arquivo-fonte: http://127.0.0.1:8888/formulario/ Linha: 49 No link que você me mando, se eu entendi certo, a olução seria essa. "Erro de lógica, tento chegar até um ‘pergunta4′, mas só existe até o pergunta3. Precisa corrigir a condição de parada do loop." Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 18, 2011 sim, você entendeu o ponto. debugue: function somar_mostrar( el, i ){ alert( 'valor'+i );//verifique se esse alert, base com os IDs criados. document.getElementById('valor'+i).style.display='block'; Compartilhar este post Link para o post Compartilhar em outros sites