Ir para conteúdo

manolegal

Members
  • Total de itens

    574
  • Registro em

  • Última visita

Tudo que manolegal postou

  1. manolegal

    [RESOLVIDO] Trazer valor correto da variável

    Bom dia Tenho uma variável que traz vários dados de ID_LANÇAMENTO var_dump($meus_ids); array 0 => string '829' (length=3) 1 => string '830' (length=3) 2 => string '828' (length=3) Preciso fazer uma soma das quantidades constantes nestes 3 lançamentos e trazer em variável, porém variável está trazendo cada quantidade em separado, ao invés da soma. foreach($meus_ids as $item){ $Sql_lim = "SELECT SUM(CASE WHEN quantidade >= 11 then 10 else quantidade end) as quantidades_limite FROM minha_tabela WHERE id_lancamento = $item"; $Resultado_lim = executa($Sql_lim); $total_registros_lim = @pg_num_rows($Resultado_lim); while ($linha_lim = @pg_fetch_assoc($Resultado_lim)){ $quantidade_limite_consulta = $linha_lim["quantidades_limite"]; } // Fecha "while" } // Fecha foreach Utilizo BD Postgresql. O total de linhas retornadas é 1, o que em tese está correto. O problema é que ao invés de trazer a soma das quantidades, a variável está trazendo cada quantidade individualizada por lançamento. Onde posso estar errando?
  2. manolegal

    [RESOLVIDO] Trazer valor correto da variável

    Problema resolvido. Criei a seguinte variável: $meus_ids_2 = implode(',', $meus_ids); E na consulta fiz a seguinte alteração: $Sql_lim = "SELECT SUM(CASE WHEN quantidade >= 11 then 10 else quantidade end) as quantidades_limite FROM minha_tabela WHERE id_lancamento IN ($meus_ids_2)"; $Resultado_lim = executa($Sql_lim); $total_registros_lim = @pg_num_rows($Resultado_lim); while ($linha_lim = @pg_fetch_assoc($Resultado_lim)){ $quantidade_limite_consulta = $linha_lim["quantidades_limite"]; } // Fecha "while"
  3. manolegal

    Leitura de vários arquivos em sequência

    Bom dia. Preciso ler e gravar vários arquivos .txt em sequência. Lendo somente 1 arquivo estou conseguindo: $caminho = ("C:/meu_diretorio"); $arquivo = fopen ("$caminho/um_arquivo.txt" , 'r'); while(!feof($arquivo)) { $linha = fgets($arquivo); $tr = substr($linha, 0, 2); $tr_3 = substr($linha, 0, 3); $Sql_cab = "INSERT INTO ..."; } Porém, preciso adaptar para mais de um arquivo. Estou tentando da seguinte forma, porém não estou conseguindo: $caminho = ("C:/meu_diretorio"); $arquivos = array_values(array_filter(scandir($caminho), function($arquivo) use ($caminho) { return !is_dir($caminho . '/' . $arquivo); })); foreach($arquivos as $arquivo){ $teste = fopen ($arquivo, 'r'); while(!feof($teste)) { $linha[] = fgets($teste); // seria isto? $tr = substr($linha, 0, 2); $tr_3 = substr($linha, 0, 3); $Sql_cab = "INSERT INTO ..."; } } Preciso ler o primeiro arquivo e gravar no BD, depois o segundo arquivo e assim por diante. Desde já agradeço pela ajuda.
  4. manolegal

    [RESOLVIDO] Ajax - Problema ao enviar requisição por jquery

    Bom dia. Seguindo sua sugestão, alterei código para: <script type="text/javascript"> $(document).ready(function(){ $('select').change(function(){ var resp = $('#resp option:selected').val(); $.ajax({ type: "POST", url: 'arquivo_ajax.php', dataType: 'html', //data: dados, data: {resp: resp}, }).done(function(data){ //console.log(data); $("#list").empty().html(data); }); return false; $("#meu_form").trigger('submit'); }); }); </script> Funcionou perfeitamente, enviando somente uma requisição a cada vez. Obrigado pela ajuda.
  5. Boa tarde Tenho 5 campos do tipo select no meu formulário. A seguir um dos campos. <div id="resp" class="form-group col-md-3" placeholder="Responsável" title="Pesquisar por Responsável"> <select class="form-control" id="resp" name="resp" placeholder="Responsável" title="Pesquisar por Responsável"> <option value="">Responsável</option> <?php $Sql = "SELECT ..."; $Resultado = ... while ($linha = @pg_fetch_array($Resultado)){. $id_responsavel_bd = $linha["id_responsavel"]; $nome_responsavel_bd = $linha["responsavel"]; if ($resp == $id_responsavel_bd){ echo "<option value='$id_responsavel_bd' selected = 'selected'>$nome_responsavel_bd</option>";} else{ echo "<option value='$id_responsavel_bd'>$nome_responsavel_bd</option>";} } ?> </select> </div> Tenho uma função jquery que ao selecionar qualquer um destes campos, faz uma requisição ajax para atualizar uma div do meu form. <script type="text/javascript"> $(document).ready(function(){ $('select').change(function(){ // Todos selects $('form').submit(function(){ var dados = $(this).serialize(); $.ajax({ type: "POST", url: 'arquivo_ajax.php', dataType: 'html', data: dados, }).done(function(data){ //console.log(data); $("#list").empty().html(data); }); return false; }); $("#meu_form").trigger('submit'); }); }); </script> Ao abrir o formulário e fazer a primeira seleção de algum campo do tipo select, é gerada uma solicitação ajax. O problema é que a cada nova seleção deste campo e de algum outro campo, ao invés de realizar UMA ÚNICA REQUISIÇÃO, está aumentando o número de requisições a cada nova ação. Como não tenho muitos conhecimentos em jquery/ajax em minha dúvida: - É normal ir aumentando o número de requisições? - Deveria sempre realizar apenas uma requisição (imagino que seja correto)? - Meu código está correto? Se não está, onde estou errando? Desde já agradeço pela colaboração.
  6. manolegal

    imprimir todos os dados fora do while

    Boa tarde. Teoricamente deve imprimir normalmente fora do while.
  7. manolegal

    [RESOLVIDO] Gravar dados com array

    Problema resolvido. Minha consulta estava com problemas no retorno dos dados.
  8. manolegal

    [RESOLVIDO] Gravar dados com array

    Bom dia Tenho um formulário onde o usuário seleciona vários registros para gravar no BD. Os dados estão sendo gravados corretamente (vários registros ao mesmo tempo). O problema é o seguinte: tenho um dado de TOTAL DE PEDIDOS, um dado de NUMERAÇÃO INICIAL e um dado de NUMERAÇÃO FINAL. As numerações inicial e final são definidas de acordo com o TOTAL DE PEDIDOS. Exemplo: TOTAL DE PEDIDOS -> 5, INICIAL -> 1, FINAL -> 5. O detalhe é que essa numeração (Inicial e Final) deve ser sequencial. Supondo que já exista este dado no BD (TOTAL DE PEDIDOS -> 5, INICIAL -> 1, FINAL -> 5), e supondo que serão inseridos 02 novos registros na tabela, sendo ambos com 10 PEDIDOS. Neste caso, no primeiro registro inserido, a NUMERAÇÃO INICIAL deve ser 6 e a NUMERAÇÃO FINAL deve ser 15; e o segundo registro inserido deve ser NUMERAÇÃO INICIAL igual a 16 e NUMERAÇÃO FINAL igual a 25. Problema que para ambos os registros, está calculando o valor INICIAL como 6 e valor FINAL como 15. Como faço para realizar o cálculo corretamente, para que a cada registro seja calculado o valor correto da NUMERAÇÃO INICIAL? Para definição deste valor inicial, faço select no BD para pegar a maior numeração existente, porém o sistema pega este valor e atribui o primeiro valor encontrado para todos os registros, sendo que preciso que a cada lançamento este valor seja atualizado para cálculo da numeração do registro seguinte.
  9. manolegal

    [RESOLVIDO] Gravar dados com array

    Tentei resumidamente da seguinte forma: for($i=0; $i<count($id_lts); $i++) { // Buscar Maior Numeração gravada no BD $Sql_numerar = "SELECT MAX(numeracao_final) as ultima_numeracao_final FROM minha_tabela"; $soma = 1; // Adiciona 1 à última numeração, para gerar próxima numeração inicial while ($linha = @pg_fetch_array($Resultado_numerar)){ $ultima_numeracao_final = $linha["ultima_numeracao_final"]; // Variável com última numeração $numeracao_inicial = ($ultima_numeracao_final + $soma); $numeracao_final = $numeracao_inicial + ($total_pedidos[$i]-1); // Numeração Inicial calculada + TOTAL PEDIDOS de cada registro a ser inserido $Sql = "INSERT INTO minha_tabela (total_pedidos, numeracao_inicial, numeracao_final) VALUES ('$total_pedidos[$i]', 'numeracao_inicial', '$numeracao_final')"; } // Fecha "for" Porém os dados de NUMERAÇÃO INICIAL e FINAL, continuam sendo gravados com mesmos valores, ou seja, mesma NUMERAÇÃO INICIAL para todos os registros. Desde já agradeço.
  10. manolegal

    [RESOLVIDO] Formatar número inteiro para decimal para inserir no BD

    Opa Matheus, tudo certo. Beleza. Funcionou. Muito obrigado pela ajuda. Grande abraço. Valeu.
  11. Olá amigos(as) do Fórum. Tenho um número inteiro no PHP e preciso inseri-lo no Postgresql com 02 casas decimais. Defini o campo no Postgresql do tipo numeric(14,2) O valor está assim no PHP: 2961966 Preciso gravar no BD da seguinte maneira: 29619.66 Porém está gravando da seguinte forma: 2961966.00 Tentei utilizando number_format, porém não consegui: $numero_bd = number_format($numero, '.', ''); $numero_bd = number_format($numero,2,"."); $numero_bd = number_format($numero,2,","numerovalor_ref_15,2,",","."); Caso alguém possa me ajudar, desde já agradeço.
  12. manolegal

    Grafico Bootstrap+PHP

    Bom dia. Você deve fazer while da consulta e salvar os dados em variáveis. Depois listar as variáveis desejadas. Talvez este vídeo possa te ajudar: vídeo
  13. manolegal

    Postgresql - Calcular meses entre datas

    Bom dia No cálculo de total de meses entre 02 datas no Postgresql, a consulta está trazendo o valor sem considerar o "dia do mês", ou seja, não está considerando se o dia da data inicial é igual ou superior ao dia da data final: SELECT (CAST(TO_CHAR(AGE('2020-04-29', '2019-07-28'),'MM') AS INTEGER) + (CAST(TO_CHAR(AGE('2020-04-29', '2019-07-28'),'YY') AS INTEGER))*12) AS MESES; Neste caso, o resultado deveria se "8", porém está retornando "9". Como faço para resolver este problema?
  14. manolegal

    Campo com 3 casas decimais [Resolvido]

    Bom dia Resolvi o problema da seguinte maneira: $('#meu_campo').mask("900,000"); $(function() { $("#meu_campo").maskMoney({ precision: 3, decimal: ',' }); }); Obrigado a todos pela ajuda.
  15. manolegal

    Campo com 3 casas decimais [Resolvido]

    Bom dia Preciso adequar um campo para receber valor com máscara com 03 casas decimais. Com 02 casas está funcionando corretamente: $('#meu_campo').maskMoney( {symbol: "R$ ", decimal: ",", thousands: "."} ); Tentei: $('#meu_campo').maskMoney( {symbol: "R$ ", decimal: ",", thousands: ".", precision: "3"} ); Porém não funciona e nem permite que eu digite algum valor no campo. Preciso que o campo aceite valores no formato: ###,### ou ##,###.
  16. manolegal

    Campo com 3 casas decimais [Resolvido]

    Obrigado pela ajuda. Tentei da seguinte forma: <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script> $('#meu_campo').mask("999,999"); Porém, o problema está quando preciso informar somente 2 casas decimais antes da vírgula: 10,123. Tentei substituir o primeiro 9 por 0 ou ?, porém não funcionou.
  17. manolegal

    Passar valor vue.js para php

    Preciso pegar o valor que retorna após a leitura no campo: <li v-for="scan in scans" key="scan.date" title="scan.content">{{ scan.content }}</li> Se alguém puder ajudar agradeço. Estou há muito tempo pesquisando e tentando resolver, porém ainda não consegui resolver.
  18. manolegal

    Passar valor vue.js para php

    Boa tarde Gostaria de colocar o valor de um campo bootstrap/vue.js em uma variável php, porém não estou conseguindo. É a primeira vez que estou trabalhando com vue. O campo está trazendo o valor correto: <section class="scans"> <h2>Scans</h2> <ul v-if="scans.length === 0"> <li class="empty">No scans yet</li> </ul> <transition-group name="scans" tag="ul"> <li v-for="scan in scans" key="scan.date" title="scan.content">{{ scan.content }}</li> </transition-group> </section> var app = new Vue({ el: '#app', data: { scanner: null, activeCameraId: null, cameras: [], scans: [] }, mounted: function () { var self = this; self.scanner = new Instascan.Scanner({ video: document.getElementById('preview'), scanPeriod: 5 }); self.scanner.addListener('scan', function (content, image) { var element = document.getElementById('valor'); element.innerHTML = content self.scans.unshift({ date: +(Date.now()), content: content }); }); Instascan.Camera.getCameras().then(function (cameras) { self.cameras = cameras; if (cameras.length > 0) { self.activeCameraId = cameras[1].id; self.scanner.start(cameras[1]); } else { console.error('Nenhuma Câmera conectada. Verifique!'); } }).catch(function (e) { console.error(e); }); }, methods: { formatName: function (name) { return name || '(unknown)'; }, selectCamera: function (camera) { this.activeCameraId = camera.id; this.scanner.start(camera); } } }); Preciso pegar o valor escaneado constante no campo, para passar para próximo formulário. No aguardo.
  19. manolegal

    Retornar resultado somado com ORDER BY

    Quantos registros a consulta está retornando?
  20. manolegal

    Limpar modal bootstrap ao fechar

    Bom dia Após selecionar a Pessoa em um formulário, tenho um botão para editar os dados desta pessoa em um Modal: <span class="input-group-addon"><a href="#" id="btn_editar" class="glyphicon glyphicon-pencil" data-toggle="modal" data-target="#modal_edit_pessoa_red"></a></span> Busco os dados no BD e preencho os inputs do modal: <script type="text/javascript"> $(document).ready(function () { $('#btn_editar').click(function () { var id = $("#id_cont_hid").val(); var id_cont= JSON.stringify(id); $.ajax({ type: "POST", url: "minha_busca_bd?id=" + id, cache: false, data: "{'id':'" + id_cont + "'}", dataType: 'json', }).done(function(retorno){ if (retorno.inserido == true) { $('#md_edit_pes_cpf').val(retorno.dados.cpf); // Atualizo valor campo cpf $("#md_edit_pes_cpf").mask("999.999.999-99"); // Adiciono máscara cpf } .......... Em relação aos dados está funcionando corretamente. O problema é em relação às máscaras de entrada dos campos (cpf) que na primeira vez que for alterar os dados está vindo corretamente, porém, caso tente alterar novamente os dados da mesma pessoa, a máscara não funciona (não vem formatado corretamente). Outro detalhe é que o modal não está sendo resetado (limpo), principalmente após tentativa de edição e ser mostrada mensagem do arquivo PHP que faz a validação dos dados inseridos, uma vez que ao fechar o modal e ao reabri-lo novamente continua mostrando a mensagem de validação, o que eu não gostaria que acontecesse, mas que cada vez que o modal fosse fechado ou finalizado, limpassem os seus dados, para novamente serem carregados após clicar no botão de edição. Partes do código que faço a validação do modal: var serialize_dados = $('#form_mod_pes_edit_red').serialize(); $.ajax({ type: "POST", url: "arquivo_validar.php", data: serialize_dados, dataType: 'json', encode: true, cache: false, }).done(function(retorno){ if (retorno.inserido == true) { $("#mensagem_edit_pes_red").html("Cadastro alterado com sucesso!"); //auto.trigger('click'); $('#form_mod_pes_edit_red').each (function(){ // Limpar campos do Form this.reset(); $('#mensagem_edit_pes_red').html(""); $('#form_mod_pes_edit_red')[0].reset(); }); setTimeout(function () { //$('#modal_edit_pessoa_red').on("hidden.bs.modal", function(){ $(this).removeData(); }); $('#mensagem_edit_pes_red').html(""); // Limpa mensagens $('#modal_edit_pessoa_red').modal('hide') //$('#form_mod_pes_edit_red').on('hidden.bs.modal', function () { //$('#modal_edit_pessoa_red').on('hidden.bs.modal', function(){ $(this).find('form')[0].reset(); }); }, 2000); // 2seg $('#obs_ped').val("Endereço: "+ retorno.dados.endereco+ " Telefone: "+ retorno.dados.telefone); } else{ if (retorno.erros){ $('#mensagem_edit_pes_red').html(""); for(var i=0;i<retorno.erros.length;i++) { $('#mensagem_edit_pes_red').append(retorno.erros[i] + "<br>"); } } else{ $("#mensagem_edit_pes_red").html("Não foi possível completar o cadastro. Tente novamente!"); } } }); Já tentei de várias maneiras, porém não consigo encontrar a solução. No botão fechar do modal também inseri vários códigos para tentar limpar o modal ao sair, porém não obtive sucesso. Se alguém tiver alguma dica, agradeço.
  21. manolegal

    Limpar modal bootstrap ao fechar

    Bom dia. Obrigado pela ajuda. <div class="modal fade" id="modal_cad_pessoa_red" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel">Cadastrar Pessoa (RD)</h4> </div> <div class="modal-body"> <div class="container-fluid" id="container"> <div class="row"> <div class="form-group col-md-5"> <label>Nome</label> <input class="form-control form_input_recebe_foco" type="text" id="md_red_pes_nome" name="md_red_pes_nome" autofocus value="<?php echo $nome;?>" placeholder="Informe o Nome da Pessoa (Obrigatório)" required maxlength="50" title='Nome da Pessoa. Antes de cadastrar uma Pessoa, certifique-se de que ela realmente não está cadastrada.' onkeypress="return handleEnter(this, event)"> </div> <div class="form-group col-md-3"> <label>Data Nascimento</label> <input class="form-control form_input_recebe_foco" type="text" id="md_red_dt_nasc" name="md_red_dt_nasc" value="<?php echo $data_nascimento;?>" maxlength="10" placeholder="Data Nascimento" title='Data de Nascimento. Digite somente números.' onkeypress="return handleEnter(this, event)" onkeypress="formatar_mascara(this, '##/##/####')" onKeyUp="this.value=formateadata(this.value);"> </div> <div class="form-group col-md-3"> <label for="cpf">CPF</label> <input class="form-control form_input_recebe_foco" type="text" id="md_red_cpf" name="md_red_cpf" pattern="\d{3}\.\d{3}\.\d{3}-\d{2}" value="<?php echo $_POST ["cpf"];?>" placeholder="Digite o CPF..." maxlength="14" autocomplete="off" title='CPF. Digite somente números. Formato final deve ser: 111.111.111-11' onkeypress="return handleEnter(this, event) && formatar_mascara(this, '###.###.###-##')" onblur="return validacpf()"> </div> </div> <!-- /row --> </form> </div> <div class="modal-footer"> <button type="button" id="grav_md_pes_red" nome="grav_md_pes_red" class="btn btn-primary">Cadastrar</button> <button type="button" class="btn btn-default" data-dismiss="modal" id="fechar_md_edit_pes_red">Fechar</button> </div> </div> </div> </div> </div> </div> Att
  22. manolegal

    Retornar resultado somado com ORDER BY

    Bom dia. Tente assim: $contar = "SELECT sum(quantidade) AS quantidade FROM `consumo` WHERE ear='$codigo' ORDER BY quantidade DESC"
  23. manolegal

    Passar valor JSON para modal

    Bom dia Já fiz dezenas de pesquisas, porém não consigo resolver o problema. Tenho um modal onde edito dados da pessoa selecionada pelo usuário em um formulário. Esta pessoa é selecionada no formulário (através autocomplete jquery), não vindo de uma pesquisa do BD, por este motivo estou tendo dificuldade para selecionar os dados da pessoa pois preciso pegar os valores vindos por JSON e passá-los para o modal. Meu arquivo e retorno JSON: while ($linha = @pg_fetch_array($Resultado_lista)){ $id_contribuinte_bd = $linha["id_contribuinte"]; $contribuinte_bd = $linha["contribuinte"]; $endereco_bd = $linha["endereco"]; $telefone = $linha["telefone"]; $array_dados[] = array('label' => $contribuinte_bd. '' .$cnpj_ou_cpf_mostra. '' .$pessoa_ou_empresa_bd_mostra, 'value' => $linha['id_contribuinte'], 'p_ou_e' => $linha['pessoa_ou_empresa'], 'ender_p_e' => 'Endereço: '.$linha['endereco'].''.$telefone_formato); } // Fecha While echo json_encode($array_dados); // Retorno dados: 0 label AGORA DE TESTES2 value 2672 p_ou_e PESSOA ender_p_e Endereço: Testes 1 label AGORA NOVO value 2654 p_ou_e PESSOA ender_p_e Endereço: ihlgkjlfdjkfdkjfd 2 label AGORA OUTRO TESTE value 2673 p_ou_e PESSOA ender_p_e Endereço: Teste endereço ........, etc //Preview [{"label":"AGORA DE TESTES2","value":"2672","p_ou_e":"PESSOA","ender_p_e":"Endere\u00e7o: Testes"},{"label":"AGORA NOVO","value":"2654","p_ou_e":"PESSOA","ender_p_e":"Endere\u00e7o: ihlgkjlfdjkfdkjfd"},{"label.......,etc Função Jquery para autocomplete pessoa e postar dados em alguns campos do formulário principal: <script type="text/javascript"> $(document).ready(function(){ $('#pesq').autocomplete({ source: "ajx_pes_p_nom_ui.php?md=sv", minLength: 1, select: function (event, ui) { $("#pesq").val(ui.item.label); $("#solicitante").val(ui.item.value); $("#pe_hid").val(ui.item.p_ou_e); $("#endereco_hid").val(ui.item.ender_p_e); $("#obs_ped").val(ui.item.ender_p_e); //$("#modal_edit_pessoa_red.md_pes_nome").val(ui.item.ender_p_e); event.preventDefault(); } }); }); </script> No formulário principal estou conseguindo inserir os dados vindo por JSON normalmente. Quando trago dados para edição do BD, também consigo inserir os dados normalmente no modal. Nesta situação, como faço por exemplo, paga "pegar" uma destas variáveis e inseri-las em um campo de um formulário modal?
  24. manolegal

    Problema ao mostrar soma com valores decimais

    Bom dia Estou realizando a soma total de um campo que pode receber vários valores, porém a soma está mostrando valor decimal "1,00" ao invés de por exemplo "1,78". Meu código: <?php for($i=0; $i<count($valor_dcto_fiscal); $i++) { ?> <td> <?php $total_produto = $valor_dcto_fiscal[$i]; ?> <?php $total_geral = $total_geral + $total_produto; ?></td> <td><input name="valor_dcto_fiscal[]" id="valor_dcto_fiscal<?php echo "$i";?>" type="text" size="12" maxlength="10" value="<?php echo "$valor_dcto_fiscal[$i]";?>" onkeyup="multiplica('<?php echo "$i";?>')" ></td> <?php } // Fecha "for" ?> <td>Total:<input name="valor_total_geral" id="valor_total_geral" type="text" size="12" maxlength="10" readonly="readonly" value="<?php echo "R$ $total_geral";?>"></td> <script type="text/javascript"> var quant = document.getElementsByName("valor_dcto_fiscal[]"); var teste = []; function multiplica() { var soma = [].reduce.call(quant, function (somatorio, el) { return somatorio + parseFloat(el.value, 10) || 0; }, 0); var soma_arredonda = soma.toFixed(2); // Esse retorna 2 casas decimais document.getElementById("valor_total_geral").value = soma_arredonda; } </script> Se alguém puder sugerir algo, agradeço.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.