SHWE12 1 Denunciar post Postado Fevereiro 23, 2009 boa tarde pessoal, eu estava com uma duvida até agora pouco mas foi resolvida agora tenho outro problema. Vamos la.. Tenho um checkbox name = req[] que sao os campos do requerimento que o aluno vai selecionar. O meu problema maior é que cada campo tem um valor especifico exemplo: Histórico Escolar - R$ 20,00 Declaração de Matrícula - R$ 8,60 Prova Segunda Chamada - R$ 20,00 Prova Substitutiva - R$ 20,00 Ementário/Grade Curricular - 30,00 e eu coloquei meu checkbox para passar apenas o nome do campo, a dificuldade agora é preciso de alguma forma passar o valor de cada campo para que possa somar quanto deu no final e enviar para o gerencimento que vai gerar o boleto bancário. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 23, 2009 gambiarra: value="nome_do_campo|valor" depois dá explode separando por "|" Outra formaé usar campos hidden para cada tipo de requerimento. Outra é selecionar no banco de dados. Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 23, 2009 Entao beraldo, estou passando o valor assim - Histórico Escolar - R$ 20,00 dai montei o explode mas nao esta dando certo <?php if($_POST){ foreach( $_POST['req'] as $req ) { // echo $req; echo '- '; echo $vetorReq[] = $req; echo'<br>'; $valor = explode("R$", $vetorReg['req']); $valor_novo = $valor_novo + $valor; echo $valor_novo; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 23, 2009 $req contém o valor passado pelo checkbox. Logo, dê explode em $req. Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 25, 2009 entao Beraldo, fiz isso mas nao deu certo <?php if($_POST){ foreach( $_POST['req'] as $req ) { // echo $req; echo '- '; echo $vetorReq[] = $req; echo'<br>'; $valor = explode("R$ ", $req); $valor_novo = $valor_novo + $valor; } } ?> Mensagem Retornada foi: Fatal error: Unsupported operand types in /home/ceusb/public_html/sis_aluno/principal/requerimentos_db.php on line 165 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 25, 2009 qual é a linha 165? qual é o retorno de echo $req? Use as tags CODE Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 25, 2009 eu dei um echo $req; ele me retornou os valore selecionados mas quando coloco a função explode ele da o fatal error na linha do explode Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 25, 2009 eu fiz algo assim: $valor = explode("R$", $req); echo $valor; para ver o que o $valor estava retornando, e a resposta foi: array, e nao o valor do requerimento. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 25, 2009 não passe R$ no checkbox. Passe somente isto: nome|valor por exemplo opcao1|20,99 sem R$, sem espaço e faça isto no PHP foreach( $_POST['req'] as $req ) { list( $opcao, $valor ) = explode( "|", $req ); echo 'opção: ' . $opcao . ' | valor: R$ ' . $valor . '<br />'; } Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 25, 2009 beleza Beraldo deu certo. agora outra duvida é quando eu faço as contas, tipo - Declaração de Matrícula | valor: R$ 8,60 - Prova Segunda Chamada | valor: R$ 20,00 - Prova Substitutiva | valor: R$ 20,00 Valor Total: 48,00 na verdade seria 48,60 eu dei um number_format no valor total para aparecer 2 casas decimais, mas ele nao esta gravando na hora de somar, como eu faço isso? <?php $valor_novo = 0; if($_POST){ foreach( $_POST['req'] as $req ) { // echo $req; list( $opcao, $valor ) = explode( "|", $req ); echo '- ' . $opcao . ' | valor: R$ ' . $valor . '<br />'; $valor_novo = $valor_novo + $valor; } $valor_novo2 = number_format($valor_novo,2); echo'<br><br>'; echo 'Valor Total: '. $valor_novo2; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 25, 2009 RESOLVIDO GALERA.. SEGUE ABAIXO O CÓDIGO.. VLW.. <?php $valor_novo = 0; if($_POST){ foreach( $_POST['req'] as $req ) { // echo $req; list( $opcao, $valor ) = explode( "|", $req ); echo '- ' . $opcao . ' | valor: R$ ' . $valor . '<br />'; $valor_novo = number_format($valor_novo + $valor,2); } $valor_novo2 = number_format($valor_novo,2); echo'<br><br>'; echo '<a class="principal">Valor Total: '. $valor_novo2; echo '</a>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 27, 2009 OUTRA DUVIDA GALERA.. ESTOU TENTANDO FAZER AGORA O SEGUINTE.. PRECISO ENVIAR UM EMAIL PARA O ADMIN DIZENDO QUE FOI SOLICITADO UM REQUERIMENTO, MAS COMO EU FAÇO PARA LISTAR NO EMAIL SEGUE ABAIXO O CODIGO $email2 = "samuel@ceusb.com.br"; $titulo = "Requerimento do Aluno $nome"; //titulo da mensagem enviada para o visitante $msg = " Nome: $nome Cidade: $cidade Estado: $estado CEP: $cep Data de Nascimento: $data_br CPF: $cpf RG: $rg Telefone: $telefone Email: $email Venho por meio desta Requerer junto a Instituição CEUSB //LISTAR OS CAMPOS SELECIONADOS ACIMA?????????????? "; //aqui envia o e-mail de auto-resposta para o visitante mail("$email2", "$titulo", "$msg", "From: $titulo" ); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 27, 2009 da mesma forma. Com foreach. Porém, dentro do loop você vai fazer concatenação, acrescentando conteúdo na variável $msg Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 28, 2009 desculpa Beraldo mas eu nao entendi muito bem nao Compartilhar este post Link para o post Compartilhar em outros sites
SHWE12 1 Denunciar post Postado Fevereiro 28, 2009 na verdade quando eu tento fazer a concatenaçao ele da um erro Parse error: syntax error, unexpected T_FOREACH Venho por meio desta Requerer junto a Instituição CEUSB" . foreach( $_POST['req'] as $req ) { // echo $req; list( $opcao, $valor ) = explode( "|", $req ); echo '- ' . $opcao . '<br />'; }. ; Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 28, 2009 Não... não concatene o foreach! foreach( $_POST['req'] as $req ) { // echo $req; list( $opcao, $valor ) = explode( "|", $req ); $var .= '- ' . $opcao . '<br />'; //contenando numa variável. } "Venho por meio desta Requerer junto a Instituição CEUSB".$var; Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 28, 2009 Siga a dica do William. Só é possível concatenarvalores, sejam variáveis ou retornos de função. foreach não retorna nada, então não faz sentido concatenar foreach, for, while.. Compartilhar este post Link para o post Compartilhar em outros sites