Jump to content

oliveiros

Members
  • Content count

    32
  • Joined

  • Last visited

Community Reputation

1 Comum

About oliveiros

Recent Profile Visitors

1215 profile views
  1. oliveiros

    Novo dompdf

  2. oliveiros

    Novo dompdf

    Não sei se perceberam qual script eu estou falando. Está linkado em Notei que. Faz tempo que eu não entrava aqui, por isso acho que não estou acertando a usar o forum. O fato é que consegui altera-lo para funcionar com a nova dompdf, bastando remover o "." (ponto) da variável da primeira tabela($html.= para $html=) e mudar o css para dentro do loadHtml. Também se apenas reconfigurar o arquivo da erro "use". Eu tive que copiar o conteúdo do outro arquivo para substituir no script Para não baixar o qrquivo: $dompdf->stream($arquivo.$pdf,array("Attachment" => false));
  3. oliveiros

    Pegando Id_user pelo DataTables

    Eu já não uso mais datatables. Eutenho um sistema que de acordo o nome de usuário usado, é direcionado pro banco de dados do usuário. Se o banco for o mesmo para todos, você pode pegar o id do usuário, colocar na sesssão, então na query do datatables você colocha o critério. where table_name.id = variavel com o id do usuário
  4. oliveiros

    Abrir página somente se o usuário estiver logado

    A maneira mai simples é criar uma sessão caso o login estejaa correto. Na página que você quer proteger verifica se a sessão existe para poder exibir a pg você não usa nem um md5 nisso aí e nenhum filtro para evitar injection?
  5. oliveiros

    Novo dompdf

    Saudações. Alguém conseguiu alterar esse código para funcionar com o dompdf mais atual e php 7.4? :seta: Notei que com a versão antiga era possível exibir o documento no navegador sem salvar, e agora, ele salva primeiro num diretório tamporário para posterior exibição no navegador(firefox). Apenas observação. Esse não é o problema Outra alteração que fiz no arquivo: $papel = array(0,0,852,227.20); $dompdf->set_paper($papel, 'portrait'); system("lpr -P MP-4200_TH_Miniprinter -#1 -o landscape -o fit-to-page /var/www/html/centralmix/venda/venda.pdf"); Gratidão! Pessoal, encontrei a solução reestruturando o código html com o php. Isto leva o script a funcionar com qualquer versão do php Porém, com a versão mais atual da dompdf não consigo por mais que uma tabela no documento. No meu caso preciso disso. Carregar a página php com $html = file_get_contents('exemplo.php'); não funcionou. A solução que encontrei, não sei se é o correto, mas funcionou foi: Separar o html em outro arquivo; Pegar o conteúdo html do arquivo com ob_get_contents(): $comanda = ob_get_contents(); Colocar o conteúdo na sessão: $_SESSION['comanda'] = $comanda; Depois no arquivo onde está a dompdf: $comanda = $_SESSION['comanda']; $comanda = utf8_decode($comanda); $dompdf->loadHtml($comanda); Notei que
  6. oliveiros

    Atualizar dataTable ajax server-side

    Nos dias de hoje não precisa mais chamar a api. Apenas por o id da tabela $('#id_do_botao').click(function(){ $('#id_da_tabela').DataTable().ajax.reload(); });
  7. oliveiros

    Como adicionar Detalhe de Linha na Datatable

    Quero compartilhar a configuração do meu <!doctype html> <html> <head> <title>DataTables AJAX Pagination with search and sort - PHP</title> <link href='datatables/css/datatables.min.css' rel='stylesheet' type='text/css'> <link href='datatables/css/buttons.dataTables.min.css' rel='stylesheet' type='text/css'> <link href='datatables/css/colReorder.dataTables.min.css' rel='stylesheet' type='text/css'> <link href='datatables/css/jquery.dataTables.min.css' rel='stylesheet' type='text/css'> <!-- jQuery Library --> <script src="jquery-3.3.1.min.js"></script> <!-- Datatable JS --> <script src="datatables/js/jquery.dataTables.min.js"></script> <script src="datatables/js/dataTables.buttons.min.js"></script> <script src="datatables/js/dataTables.colReorder.min.js"></script> <script src="datatables/js/buttons.colVis.min.js"></script> <script src="datatables/js/buttons.print.min.js"></script> <style> div.dt-buttons { clear: both; } </style> </head> <body > <button type='button' id='fechar_vendas'>Fechar</button> <button type='button' id='ver_produtos' name='ver_produtos2'>Ver produtos</button> <button type='button' id='imprimirajax'>Imprimir comanda</button> <button type='button' id='imprimirajax2'>Imprimir comanda R$</button> <div> <!-- Table --> <table id='empTable' class='display dataTable'> <tr> <thead> <th>Data</th> <th>Hora</th> <th>Senha</th> <th>Dinheiro</th> <th>Total</th> <th>Trouco</th> <th>T_PGTO</th> <th>Impressão</th> <th></th> </tr> </thead> </table> </div> <!-- Script --> <script> $(document).ready(function(){ $('#empTable').DataTable({ "order": [[ 0, "desc" ]], dom: 'Blfrtip', stateSave: true, buttons: [ 'copyHtml5', 'excelHtml5', 'csvHtml5', 'pdfHtml5' ], buttons: ['columnsToggle', 'print', { extend: 'colvis', postfixButtons: [ 'colvisRestore' ], }, ], buttons: [ { extend: 'print', exportOptions: { columns: ':visible' } }, 'colvis' ], language: { buttons: { colvis: 'Esconder / mostrar colunas', colvisRestore: 'Restaurar coluna(s)' } }, columnDefs: [ { targets: -1, visible: false } ], 'columnDefs': [3], retrieve: true, "iDisplayLength": 3, "aaSorting": [3], "lengthMenu": [[3,4,10, 25, 50, -1], [3,4,10, 25, 50, "All"]], "lengthChange": true, columnDefs: [ { orderable: false, targets: [7,8] }], //{ visible: false, targets: [7,8] } ], "pagingType": "full_numbers", 'colReorder': true, 'processing': true, 'serverSide': true, 'serverMethod': 'post', 'ajax': { 'url':'ajaxfile.php' }, 'columns': [ { data: 'DATA_VENDA' }, { data: 'HORA_VENDA' }, { data: 'SENHA' }, { data: 'PAGO' }, { data: 'VALOR_TOTAL' }, { data: 'TROUCO' }, { data: 'TPAGAMENTO' }, { data: 'button' }, { data: 'produtos' }, ] }); }); $.extend(true, $.fn.dataTable.defaults, { "language": { "url": "datatables/pt.json" } }); </script> </body> </html> <script> //Seleciona o botão var btn = document.getElementById('fechar_vendas'); //Adiciona uma chamada quando o elemento (botão no caso) for clicado, chamando a função 'ocultar' btn.addEventListener('click', ocultar) //Definimos a função a ser chamada quando o botão for clicado function ocultar(){ var msg = document.getElementById('vendas2'); // seleciona a div com o texto //msg.style.display = 'none'; // oculta a div //this.style.display = 'none'; // oculta o botão if (msg.style.display == 'none') { msg.style.display = 'block'; } else { msg.style.display = 'none'; this.style.display = 'none'; } } </script> </script> <!-- ABAIXO MOSTRO A DIV vendas2 SE ELA ESTIVER OCULTA--> <script> var visivel = false; var objDiv = document.getElementById('vendas2'); if (visivel == false){ objDiv.style.display = "block"; visivel = true; }else{ objDiv.style.display = "none"; visivel = false; } </script> <script> $(document).ready(function() { //definir evento "onclick" do botão id=ver_produtos $("#ver_produtos").click(function() { //capturar o valor dos campos do fomulario var cod = $("input[name=prod]:checked").val(); var acao = $(this).attr('id'); //usar o metodo ajax da biblioteca jquery para postar os dados em ver_produtos.php $.ajax({ "url": "ver_produtos.php", "dataType": "html", "data": { "cod":cod, "acao":acao }, "success": function(response) { //em caso de sucesso, a div ID=produtos2 recebe o response do post $("div#produtos2").html(response); } }); }); }); </script> <script> $(document).ready(function() { //definir evento "onclick" do campo acao $("#imprimirajax").click(function() { //capturar o valor dos campos do fomulario var CODIGO = $("input[name=prod]:checked").val(); //var acao = $(this).attr('id'); //usar o metodo ajax da biblioteca jquery para postar os dados em ver_produtos.php $.ajax({ "url": "venda.php", "dataType": "html", "data": { "CODIGO":CODIGO //"acao":acao }, //"success": function(response) { //em caso de sucesso, a div ID=saida recebe o response do post(div em outra página) // $("div#produtos2").html(response); //} }); }); }); </script> <script> $(document).ready(function() { //definir evento "onclick" do imprimirajax2 $("#imprimirajax2").click(function() { //capturar o valor dos campos do fomulario var CODIGO = $("input[name=prod]:checked").val(); //var acao = $(this).attr('id'); //usar o metodo ajax da biblioteca jquery para postar os dados em ver_produtos.php $.ajax({ "url": "comanda_venda.php", "dataType": "html", "data": { "CODIGO":CODIGO //"acao":acao }, //"success": function(response) { //em caso de sucesso, a div ID=saida recebe o response do post //$("div#produtos2").html(response); //} }); }); }); </script>
  8. oliveiros

    Botão excluir e editar em um DataTable

    Deve ser porque ta dentro do while.... iiii!!!!
  9. oliveiros

    Botão excluir e editar em um DataTable

    Fiz o teste aqui: Colocando no php eu mando imprimir e ele imprime três vezes. Alguém sabe dizer porque?
  10. oliveiros

    Botão excluir e editar em um DataTable

    Saudações! Minha intenção era por botões de imprimir e ver produtos onde eu só precisasse de um único click. Como inicialmente não consegui, acabei colocando os botões com os eventos no html do datatables e o input rádio no php pegando o idl . O que ficou melhor, pois ao retira-los da tabela, tenho mais espaço para listar outras colunas, apesar que posso oculta-las, mas os botões estando a vista, é mais rápido o acesso e aqui às vezes no atendimento não tenho tempo nem de clicar para mostrar as colunas(risos). No entanto, acabei conseguindo por no php. Segue o código para ajudar alguém que talvez venha a precisar: $data = array(); while ($row = mysqli_fetch_assoc($empRecords)) { $data[] = array( "DATA_VENDA"=>$row['DATA_VENDA'], "SENHA"=>$row['SENHA'], "VALOR_TOTAL"=>$row['VALOR_TOTAL'], "PAGO"=>$row['PAGO'], "NOME"=>$row['NOME'], "radio"=>"<label><input type='radio' name='produtosvr' value='$row[CODIGO]'>teste</input></label> <script> $(document).ready(function(){ $('input[name=produtosvr]').click(function() { alert('') $.post('../centralmix/insere3.php', // post em insere function(valor){ $('#saida').html(valor); //retorna o resultado }) }) }) </script>", ); }
  11. oliveiros

    Como adicionar Detalhe de Linha na Datatable

    Saudações! O que eu posso dizer, já que sua estrutura não funcionou aqui comigo... Sua estrutura é semelhante a esta:https://forum.imasters.com.br/topic/582946-botão-excluir-e-editar-em-um-datatable/ Com esta também não funcionou, mas ainda assim apareceu a paginação, total de registros, etc. Só não listou os dados. com a sua não só aparece os campos cpf, nome, data de nascimento. Estou utilizando esta estrutura, que além de funcionar perfeitamente, me parece ser mais legível, fácil entendimento e eficiente na busca no banco de dados: https://makitweb.com/datatables-ajax-pagination-with-search-and-sort-php/
  12. oliveiros

    Botão excluir e editar em um DataTable

    A estrutura do meu é diferene. Testei essa e não exibiu os dados. Na estrutura que estou usando não aceitou essa função. Eu insiro um botão, ou no caso um radio input, assim: while ($row = mysqli_fetch_assoc($empRecords)) { $data[] = array( "DATA_VENDA"=>$row['DATA_VENDA'], "SENHA"=>$row['SENHA'], "VALOR_TOTAL"=>$row['VALOR_TOTAL'], "PAGO"=>$row['PAGO'], "NOME"=>$row['NOME'], "radio"=>"<label><input type='radio' name='prod' value='$row[CODIGO]'>Produtos</label>" ); } Mas onde vocês estão escrevendo a função java scrip para pegar o evento do botão, pois esse arquivo em json não aceita. Grato
  13. Alguém já teve problemas com o mysql ao utilizar o chromium no ubuntu 12? Percebi que este navegador(em versão obsoleta) ficar recarregando a página em loop No caso, um sistema de vendas online que estou modificando. Deu pau no mysql e após tenta de tudo tive que reinstalar o ubuntu Aconteceu a mesma coisa. O mysql parou quando estavam duas abas abertas com o sistema Na primeira vez consegui recuperar o banco de dados usando a opção innodb_force_recovery=2, no my.cnf Da segunda vez não teve remédio. No entanto parece que o my.cnf vem configurado com opções obsoletas. Também tinha instalado o konsole. Parece que o sistema fica mais lento e ao tentar desinstalar o mysql ele dizia que não podia desinstalar e fazia referencia ao plasma-desktop, algumas libs que são instaladas com o konsole. "Na terceira instalação mudei as opções key_buffer para key_buffer_size e myisam-recovery para myisam-recovery-options no my.cnf" Além do loopd do navegador, não usei mysql_close() nos scripts. Talvez essa combinação tenha quebrado o mysql
  14. oliveiros

    PHP realiza Impressão com a MP-4200 TH

    Olá! Vej que o post é antigo, mas como teve atualizção em 2018, vou citar: Eu fiz isso em 2015 também. Ainda não tinha esse tópico, mas fiz de maneira diferente. Eu gero um arquivo pdf com dados do bd e depois executo o lpr(no linux) para imprimir Se for útil a alguém, é só pedir...
×

Important Information

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