Ir ao conteúdo
  • Cadastre-se

carecazn

Membro Pleno
  • Posts

    306
  • Cadastrado em

  • Última visita

Reputação

10
  1. Boa noite, estou tentando somar os campos de uma tabela do banco de dados e não estou conseguindo. function somar($coluna, $tabela, $cond){//Função para somar $con = conectar(); $listar = $con->prepare("SELECT SUM({$coluna}) FROM {$tabela} {$cond}"); $listar->fetch(PDO::FETCH_OBJ); $listar->execute(); return $listar; } $subTotais = somar('valor_compras', 'loja_compras', "WHERE email_cliente = '$email' AND status_pagamento = 0"); foreach($subTotais as $totais); echo '<pre>'; var_dump($totais); echo '</pre>'; object(stdClass)#13 (1) {//No var_dump aparece isso, fez a soma, mas não consegui imprimir ["SUM(loja_compras)"]=> string(6) "976.90" } <?= $totais->valor_compras; ?>//Não imprimi, se der echo somente na variável $totais também não imprimi
  2. Boa noite Pessoal, agora mudou um pouco a situação, conforme código abaixo, agora traz o valor correto, porém, ainda não soma as casas decimais. if(isset($_POST['pac'])){ $valPac = (calcular_frete(CEP,$_SESSION['cep'],0,'41106',$peso)); $frete = $valPac->Valor; $_SESSION['frete'] = (string)$frete; } if(isset($_POST['sedex'])){ $valSedex = (calcular_frete(CEP,$_SESSION['cep'],0,'40010',$peso)); $frete = $valSedex->Valor; $_SESSION['frete'] = (string)$frete; } Se eu não colocar (string) da erro no retorno do objeto na classe dos correios.
  3. Boa noite, estou tendo problemas ao criar uma $_SESSION com casas decimais. Se eu criar uma variável e recuperar $valPac->Valor; ela vem com o valor 26,40, quando eu crio a $_SESSION['frete'] ela assume o valor de 26, se eu usar number_format($_SESSION['frete'], 2, ',','.'); ela assume o valor 26,00 e da mesma forma não traz as casas decimais. O que esta dando errado? if(isset($_POST['pac'])){ $valPac = (calcular_frete(CEP,$_SESSION['cep'],0,'41106',$peso)); $_SESSION['frete'] += $valPac->Valor; }
  4. Bom dia Pessoal, estou fazendo uma página para calcular frete e vou apresentar para o usuário as opções que ele tem de frete disponível e após ele colocar o cep, cria uma $_SESSION e soma ao falor final da compra dele. Segue o código abaixo, eu pensei em se o Cliente clicar em PAC cria uma $_SESSION['pac'] e eu faço a soma e apresento o valor final e se ele clicar em sedex cria uma $_SESSION['sedex'], Claro que estou aberto a opiniões, rsrsrsrsrsrs <?php if(isset($_POST['carrinho-frete'])){ $cep = $_POST['carrinho-cep']; $valPac = (calcular_frete(CEP,$cep,0,'41106',$peso)); $valSedex = (calcular_frete(CEP,$cep,0,'40010',$peso)); $entPac = $valPac->PrazoEntrega + 3; $entSedex = $valSedex->PrazoEntrega + 3; echo "<div class='radio'> <label><input type='radio' name='frete'>Correios PAC: R$ $valPac->Valor - $entPac dias úteis</label> </div> <div class='radio'> <label><input type='radio' name='frete'>Correios Sedex: R$ $valSedex->Valor - $entSedex dias úteis</label> </div>"; } ?> </form> </div> </div> <div class="col-xs-12 col-sm-4 opc-carrinho"> <div class="panel total-compras"> <h4 class="text-center"><strong>Total da compra</strong></h4> <div class="table-responsive"> <table class="table carrinho-pagamento"> <tr> <th>Total de compras:</th> <td>R$ <?= number_format($_SESSION['total'], 2, ',','.'); ?></td> <tr> <tr> <th>Frete:</th> <td>R$ 0,00</td>//Aqui eu preciso que venha a opção da função em jQuery para no total juntar com essa e dar o valor final ao Cliente. <tr> <tr> <th>Total:</th> <td><strong>R$ <?= number_format($_SESSION['total'], 2, ',','.'); ?></strong></td> <tr> </table> </div> </div> </div>
  5. @DiF, dif, fiz como esta abaixo, porém, ficou com alguns probleminhas, quando eu clico em comprar do jeito que esta, ele enviar todos os produtos do banco de dados, no meu caso eu cadastrei 3 produtos, quando estava com 1 só estava perfeito, rsrsrsrsrsrs, então fiz mais 2 cadastros para testar e o terror começou, rsrsrsrsrsrs caso eu tire o comprar do while ele envia sempre o mesmo produto o 1, e do jeito que esta ele envia todos, como se eu tivesse clicado em comprar os 3 de uma só ves. No caso, quando clico nos detalhes do jeito em que esta ele pega sempre o último, e se tiro do while, pega sempre o primeiro. Acredito que seja tranquilo de se resolver, porém, não enxergo a solução. <form action="" method="post" enctype="multipart/form-data"> <?php $produtos = new Produtos; $dados = $produtos->listarProdutosLoja('loja_produtos', "WHERE loja_tipo = 'alianca'"); $busca = new ArrayIterator($dados); while($busca->valid()): if(isset($_POST['comprar'])){ $produto = new Carrinho; $produto->setId((int)$busca->current()->id_produto); $produto->adicionar(); //header( 'Location: '.BASE.'/carrinho-de-compras' ); echo '<pre>'; var_dump($_SESSION["produto"]); echo '</pre>'; } if(isset($_POST['detalhes'])){ $_SESSION["referencia"] = $busca->current()->loja_ref; //header( 'Location: '.BASE.'/detalhes' ); echo '<pre>'; var_dump($_SESSION["referencia"]); echo '</pre>'; } ?> <div class="col-xs-6 col-sm-3 col-md-2 produto"> <div class="thumbnail box"> <a href="<?= BASE; ?>/img/<?= $busca->current()->loja_imagem; ?>" title="<?= $busca->current()->loja_produto; ?>" rel="shadowbox;width=500;height=500"> <img src="<?= BASE; ?>/tim.php?src=img/<?= $busca->current()->loja_imagem; ?>&w=100&h=100&zc=0&q=100" class="img-produto" title="" alt=""> </a> <div class="caption"> <h1 class="text-center"><?= $busca->current()->loja_produto; ?></h1> <p class="price"> <span class="ref">Referência: <?= $busca->current()->loja_ref; ?></span><br /> <span class="price-old">De <s>R$ <?= number_format($busca->current()->loja_valor,2,",","."); ?></s></span><br /> <span class="price-new">Por R$ <?= number_format($busca->current()->loja_valor_p,2,",","."); ?></span> </p> <button type="submit" name="detalhes" class="btn btn-link">Detalhes</button> <button type="submit" name="comprar" class="btn btn-primary center-block" role="button"> <span class="glyphicon glyphicon-shopping-cart"></span> Comprar </button> </div> </div> </div> <?php $busca->next(); endwhile; ?> </form>
  6. Boa noite Pessoal, preciso de uma ajuda para criar uma Função para Somar a coluna de uma tabela de forma genérica, eu tenho uma função de listar e quero fazer uma função parecida. Abaixo segue a minha conexão que por padrão seta UTF-8 para não ter problemas com o banco de dados, a também seta por padrão PDO::FETCH_OBJ, então na mesma linha da função listar, quero fazer também a função somar, para no caso quero recuperar a quantidade de avaliações de um determinado produto para fazer uma média de avaliações por exemplo. Vou no banco de dados recupero através da função a quantidade de pessoas que avaliaram o produto e somo cada voto que foi dado ao produto e faço uma média geral de cada produto. //error_reporting(E_ALL); ini_set('display_errors', 1); function conectar(){ try{ $con = new PDO('mysql:host='.HOST.';dbname='.DBSA, USER, PASS, array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8" )); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);//Já seta FETCH_OBJ por padrão na conexão return $con; }catch(PDOException $e){ echo 'ERROR:'.$e->getMessage(); } } function listar($tabela,$cond){ $con = conectar(); $listar = $con->prepare("SELECT * FROM {$tabela} {$cond}"); $listar->execute(); $listar->rowCount(); return $listar; }//Função listar com PHP PDO function somar($coluna, $tabela, $cond){ $con = conectar(); $listar = $con->prepare("SELECT SUM({$coluna}) AS soma FROM {$tabela} {$cond}"); $listar->execute(); $listar->rowCount(); $total = 0; return $total; }//Esta função quero implementar, porém, não estou conseguindo fazer
  7. Boa noite, poderia colocar o código completo por favor, a linha que esta com erro não aparece no print.
  8. Muito obrigado @DiF! Vou estudar bastante e vou implementar com certeza. Consegui colocar o cep para preencher os campos automaticamente na parte de cadastro (Acho que você lembra que não sou muito chegado no jQuery, rsrsrsrsrsrs, mas, fazer o que né, não vou conseguir fugir dele muito tempo, então...), vou estudar também para colocar os valores de frete também, ja consegui recuperar os valores, agora preciso pensar em como colocar para ficar com o código limpo. Estou muito preocupado com a segurança do projeto! Estou filtrando todas as entradas da dados, até os pensamentos, rsrsrsrsrsrsrsrs.
  9. Rsrsrs, procura ai, vai que consegue achar, rsrsrsrsrsrs
  10. Boa tarde @DiF, pode ser, estou procurando uma parceria para este projeto, rsrsrsrsrsrs, se você se interessar. No caso, de SESSION com Javascript ele também vai somar os valores dos produtos conforme eu for mudando eles?
  11. Bom dia, estou tentando fazer um carrinho de compras e gostaria de pegar o valor do input automaticamente <script> function calc_total () { var qtd = parseInt(document.getElementById('cQtd').value); var vuni = document.getElementById('vUni').value; var tot = qtd * vuni; document.getElementById('cTot').value = tot; } </script> <form method="post" id="fContato" action="" oninput="calc_total();"> <tr> <td><img style="width:50px; height:50px;" class="img-produto" src="<?= BASE; ?>/img/512228.jpg" alt="" /></td> <td class="text-left">Aliança Rommanel Estilizada</td> <td>512228</td> <td><input id="cQtd" class="carr-quant text-center" min="1" max="100" type="number" value="1"></td> <td id="vUni">R$ 230,00</td> <td id="cTot" readonly></td> <td><a href=""><i class="fa fa-times fa-2x remove" aria-hidden="true"></i></a></td> </tr> </form> Esta exatamente assim, porém ,não esta funcionando e se não deixar esta parte chamando no formulário é ainda melhor, pois ainda quero fazer a outra parte que seria colocar a soma de todos os valores para fazer o total da compra, o campo acima é apenas caso o Cliente escolha apenas um produto, porém, ele pode escolher mais de um e então faria a mesma compra e depois no final do formulário teria a soma de todos os valores.
  12. Boa tarde Pessoal, achei um código que resolve o problema, funciona perfeitamente, porém, a foto não é obrigatório o Usuário colocar, e com o código que eu achei, preciso deixar uma div com o campo imagem aparecendo, e quando o Usuário carrega a imagem mostra na tela antes de fazer o upload, eu quero deixar o input normal e só aparecer a imagem quando ela for selecionada pelo Usuário, caso contrario só ficaria aparente o input mesmo, alguém consegue me ajudar? Segue o código. <script> function readURL(input, id) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#'+id) .attr('src', e.target.result); } reader.readAsDataURL(input.files[0]); } } </script> <label class="line"> <span class="data">Foto:</span> <input type="file" class="fileinput" name="foto" size="60" onchange="readURL(this,'mini_foto_new');" style="cursor:pointer; background:#FFF;" /> <div style="width:100px;height:100px;float:left;margin-top:5px;"> <img id="mini_foto_new" style="width:100px;height:100%;float:left;vertical-align:middle;margin-top:5px;" src="" /> </div> </label>
  13. Bom dia, estou desenvolvendo um cadastro em php e quero fazer um preview de imagens, em php ou javascript, nada muito elaborado, a Pessoa seleciona a imagem e instantaneamente ela aparece logo abaixo do input, após isso continua com a inserção dos outros campos do formulário. Todos os campos estão sendo validados com $_SESSION, se existir a $_SESSION faz alguma coisa, no caso da imagem, se existir $_SESSION['foto'] ele mostra o campo imagem e é neste campo que eu quero exibir a pré-visualização da imagem. uma miniatura de 100x100. <label class="line"> <span class="data">Foto:</span> <input type="file" class="fileinput" name="foto" size="60" style="cursor:pointer; background:#FFF;" /> <?php if(isset($_SESSION['foto'])){ echo '<img style="width:100px;height:100%;float:left;vertical-align:middle;margin-top:5px;" '; echo 'src="" "/>'; unset($_SESSION['foto']); }else{} ?> </label>
  14. Eu estou usando assim if(!$_SESSION['nomeDaSessao']){ echo '<script language="javascript">window.location.href="index.php"</script>'; } Funciona perfeitamente, porém, preciso colocar em todos os arquivos, isso que eu não queria fazer, deve ter alguma forma de fazer isso, estou pesquisando ainda.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...