Jump to content

manolegal

Members
  • Content count

    572
  • Joined

  • Last visited

Community Reputation

12 Levemente Bom

2 Followers

About manolegal

  • Rank
    Manolegal

Informações Pessoais

  • Sexo
    Masculino
  • Interesses
    PHP, Postgre, HTML, Javascript, CSS

Recent Profile Visitors

1422276 profile views
  1. 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.
  2. 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.
  3. 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.
  4. manolegal

    imprimir todos os dados fora do while

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

    [RESOLVIDO] Gravar dados com array

    Problema resolvido. Minha consulta estava com problemas no retorno dos dados.
  6. 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.
  7. 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.
  8. Opa Matheus, tudo certo. Beleza. Funcionou. Muito obrigado pela ajuda. Grande abraço. Valeu.
  9. 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.
  10. 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
  11. 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?
  12. 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.
  13. 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.
  14. 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 ##,###.
  15. 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.
×

Important Information

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