Jump to content

AntonioJunior

Members
  • Content count

    9
  • Joined

  • Last visited

Community Reputation

1 Comum

1 Follower

About AntonioJunior

  • Birthday 10/07/1986

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Guarulhos/SP
  • Interesses
    PHP

Recent Profile Visitors

193 profile views
  1. AntonioJunior

    [Resolvido] [Duplicado] Somar valores de um array

    Obrigado!
  2. AntonioJunior

    [Resolvido] [Duplicado] Somar valores de um array

    EdCesar, Bom dia! Fiz conforme você informou e deu certo, porém ficou meio grande o codigo, veja: $valorcartao1['valordinheiro'] = 2.5; //valordinheiro $valorcartao1['valorsistema'] = 2.0; // valorsistema $valorcartao1['dtmovimento'] = "2017.02.15"; //data inclusao $valorcartaocorreto = $valorcartao1; unset($valorcartaocorreto['dtmovimento']); $valorcartaocorreto['valortotal'] = array_sum($valorcartaocorreto); //valortotal unset($valorcartaocorreto['valordinheiro']); unset($valorcartaocorreto['valorsistema']); porém realizando outros testes, vi que se eu fizer a soma, antes de passar o valor da variavel data, também funciona. tem problema se usar assim? veja: $valorcartao1['valordinheiro'] = 2.5; //valordinheiro $valorcartao1['valorsistema'] = 2.0; // valorsistema $valorcartao1['valortotal'] = array_sum($valorcartao1); $valorcartao1['dtmovimento'] = "2017.02.02"; //data inclusao Nesse caso ele me retornou isso.. Array ( [valordinheiro] => 2.5 [valorsistema] => 2 [valortotal] => 4.5 [dtmovimento] => 2017.02.02 ) tem problema usar assim? Muito obrigado!
  3. Pessoal, Bom dia Tenho um array $valorcartao, que me retorna isso: Preciso somar os valores desse array, porém quando uso a função array_sum, ele soma todos os valores inclusive os de vermelho. Teria como não entrar esses valores na soma? Infelizmente meu array está assim, porque ele vem de um formulário dinâmico. Na qual no meu form está assim: <input class="form-control" name="valorcartao[]" required> Tive que juntar as datas no mesmo array, para depois eu conseguir dar "insert" na base, que no caso está assim: inserir(array_keys($valorcartao), $valorcartao, "lanc_diario"); tentei tirar as datas do array, mas com isso meu insert não funciona, tentei algo do tipo: inserir (array("dtmovimento",array_keys($valorcartao), ($dtmovimento,$valorcartao), "lanc_diario")); mas não vai: abaixo minha função de inserir: <?php function inserir($coluna,$valor,$tabela){ //arrays? if((is_array($coluna)) and (is_array($valor))){ // tem o mesmo numero de elementos if(count($coluna) == count($valor)){ // montar o sql $inserir = "INSERT INTO {$tabela} (".implode(', ',$coluna).") VALUES ('".implode('\', \'',$valor)."')"; }else{ return false; } }else{ //montar sql $inserir = "INSERT INTO {$tabela} ({$coluna}) VALUES ('{$valor}')"; } //conectou? if($conexao = connect()){ //inseriu? if(mysql_query($inserir,$conexao)){ //fecha conexão fechaConexao($conexao); return true; }else{ echo "Query Invalida!"; return false; } }else{ return false; } } ?> Me parece que tenho 2 soluções provaveis, somar os valores do array sem as datas ou arrumar a linha do insert. Alguem poderia me dar uma luz? Muito Obrigado!
  4. AntonioJunior

    usando foreach para retornar os dados e depois dar insert

    Muito obrigado!
  5. AntonioJunior

    usando foreach para retornar os dados e depois dar insert

    Perfeito!, No caso ali em cima quando você deu isset($_POST["valorcartao"]) ? $_POST["valorcartao"] : null; Está setando para null, se a variável não foi iniciada? não entendi muito bem..
  6. AntonioJunior

    usando foreach para retornar os dados e depois dar insert

    Williams, Boa Tarde! Estamos quase lá.. fiz isso: $campos = implode(",", array_keys($_POST["valorcartao"])); $valores = "'".implode("','",$_POST["valorcartao"])."'"; inserir(array("id","dtmovimento",$campos), array(NULL,$dtmovimento,$valores), "lanc_diario"); Imagino que seja algum erro de sintaxe, ou incompatibilidade com minha função de inserir. que está assim: <?php function inserir($coluna,$valor,$tabela){ //arrays? if((is_array($coluna)) and (is_array($valor))){ // tem o mesmo numero de elementos if(count($coluna) == count($valor)){ // montar o sql $inserir = "INSERT INTO {$tabela} (".implode(', ',$coluna).") VALUES ('".implode('\', \'',$valor)."')"; }else{ return false; } }else{ //montar sql $inserir = "INSERT INTO {$tabela} ({$coluna}) VALUES ('{$valor}')"; } //conectou? if($conexao = connect()){ //inseriu? if(mysql_query($inserir,$conexao)){ //fecha conexão fechaConexao($conexao); return true; }else{ echo "Query Invalida!"; return false; } }else{ return false; } } ?> obrigado!
  7. AntonioJunior

    usando foreach para retornar os dados e depois dar insert

    Consegui inserir no banco, mas só setando os campos manualmente no insert. O problema é que os campos são dinamicos de acordo com a quantidade de cartões cadastrados. veja como está o insert inserir(array("id","dtmovimento","amexcredito","visacredito"), array(NULL,$dtmovimento,$_POST["valorcartao"]['0'],$_POST["valorcartao"]['1']), "lanc_diario"); e como eu disse, deixando o insert dentro do laço, ele cria um insert a cada volta, no meu caso eu preciso de apenas uma linha. na minha tabela lanc_diario, eu tenho um campo para o valor de cada cartão.
  8. AntonioJunior

    usando foreach para retornar os dados e depois dar insert

    Williams, Boa Tarde! Coloquei o insert dentro do laço, porém criou varias linhas no meu bd. Não sei como informar o array dentro do insert. Na verdade o que eu preciso é de apenas um insert, com todos os valores vindo do mesmo input. tentei montar o array da forma que você disse. $valores = $_POST['valorcartao']; $vlcartoes = array( "indice" => $valores ); print_r($valores); o retorno foi esse: e agora como pego esses valores e coloco no meu insert? ele está assim: inserir(array("id","dtmovimento"), array(NULL,$dtmovimento), "lanc_diario"); Obrigado
  9. Pessoal, Boa Noite Estou com um probleminha, estou procurando a algum tempo. Minha intenção é. criar uma tela para fazer lançamentos de valores de cartões de credito e débito. Tenho uma tabela no bd "lanc_diario" Nessa tabela tenho os campos por exemplo "valoramexcredito, valorvisacredito" e por aí vai... Tenho outra tabela com os tipos de cartões, e por isso monto um form dinamico, que mostra os inputs de acordo com a tabela de cartões. no meu form o input está assim: <input type="text" name="valorcartao[]" placeholder="R$" /> e na pagina de retorno estou usando o foreach para me mostrar todos os valores do input. $dtmovimento = $_REQUEST['dtmovimento']; $dtmovimento = date("Y-m-d",strtotime(str_replace('/','-',$dtmovimento))); if(isset($_POST["valorcartao"])) { // Faz loop pelo array do q foi enviado foreach($_POST['valorcartao'] as $indice => $valorcartao) { echo $indice." - ".$valorcartao.'<br />'; } inserir(array("id","dtmovimento"), array(NULL,$dtmovimento), "lanc_diario"); } else { echo "Nada enviado<br>"; } Meu retorno está sendo esse: 0 - R$ 1,001 - 2 - 3 - 4 - 5 - 6 - 7 - R$ 1,00 8 - A questão é que não estou conseguindo inserir os valores no bd. Pois não consigo encaixar no insert. tentei algo do tipo: inserir(array("id","dtmovimento","valoramexcredito"), array(NULL,$valorcartao[0]), "lanc_diario"); mas imagino que não posso deixar esse "valoramexcredito" fixo, por que não iria inserir os outros valores de cartões nos seus respectivos campos. Alguém poderia me dar uma luz? Muito obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.