Ir para conteúdo

Rafael Motta

Members
  • Total de itens

    28
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Rafael Motta

Últimos Visitantes

199 visualizações
  1. Rafael Motta

    Manter tamanho da grade no carrinho de compras na $_SESSION

    Então, desde ontem dei uma mexida no código e obtive algum êxito... Agora recebo o 'ID' da grade do produto e implemento no select mais ao fim do código, porem toda vez que envio ele, ele altera para o novo 'ID' inserido em todos os itens, mas o preço se mantém o correto, queria que este ($tam, que após o select, é extraído e vira $num['NUMERO']), alterasse junto com cada adição nova... Sabe como eu poderia fazer isto? carrinho.php <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; } else { $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_GET['prod'])){ foreach($_GET['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } } if(empty($_GET['tam'])){ $tam = 1; }else{ $tam = $_GET['tam']; } ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Pedidos</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <title>Carrinho</title> <style> #interna{ text-align: center; } </style> </head> <body> <div class="col-md-12"> <table class="table table-striped" border="1px" width=300 height=100 bgcolor="#d9d9d9"> <caption>Carrinho de Compras</caption> <thead> <tr> <th>Produto</th> <th>Quantidade</th> <th>Preço</th> <th>SubTotal</th> <th>Remover</th> </tr> </thead> <form action="" method="get"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> </tr> <td colspan="5"><a href="index.php">Continuar Comprando</a></td> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr> <td colspan="5">Não há produto no carrinho</td> </tr>'; }else{ require("conexao.php"); $total = 0; foreach($_SESSION['carrinho'] as $id => $qtd){ $pdo= conecta(); $resultado = $pdo ->prepare("SELECT max(ID_LISTA)AS ID FROM listas_preco where cod_cliente = 1"); $resultado->execute(); $lista = $resultado->fetch(PDO::FETCH_ASSOC); $result = $pdo ->prepare("SELECT PRODUTOS.CODIGO,PRODUTOS.DESCRICAO AS DESC,GRADES_NROS.ID_NROGRADE,GRADES_NROS.COD_GRAD, GRADES_NROS.NUMERO, listas_itens.PRECO FROM listas_itens inner join produtos on (listas_itens.cod_produto = produtos.codigo) inner join grupos_produto on (produtos.cod_grupo = grupos_produto.codigo) inner join GRADES_NROS on (produtos.cod_grade = grades_nros.cod_grad) WHERE PRODUTOS.CODIGO=". $id ." and (listas_itens.id_lista = '". $lista['ID'] ."') and ID_NROGRADE=" . $tam); $result->execute(); $ln = $result->fetch(PDO::FETCH_ASSOC); $nome = $ln['DESC']; $preco = number_format($ln['PRECO'], 2, ',', '.'); $sub = number_format($ln['PRECO'] * $qtd, 2, ',', '.'); $total += $ln['PRECO'] * $qtd; $num = $ln['NUMERO']; echo '<tr height=70>' . '<td><p>'. $nome .'</p><br/> Tamanho: '. $num .'</td></br> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td>R$ '.$preco.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'&tam='.$tam.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } ?> </tbody> <input type="hidden" name="acao" value="up"/> <input type="hidden" name="tam" value="<?php echo $tam;?>"/> </form> </table> </div> </body> </html>
  2. Rafael Motta

    Manter tamanho da grade no carrinho de compras na $_SESSION

    Boa tarde, estou tentando entender como faço para manter o valor do "Tamanho" na minha $_SESSION... no carrinho de compras... toda vez que insiro um produto o tamanho muda junto pelo valor do ultimo inserido... seguem os codigos, caso alguem saiba... Obrigado! carrinho.php <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); $tam = $_POST['tam']; if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; } else { $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } } ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Pedidos</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <title>Carrinho</title> <style> #interna{ text-align: center; } </style> </head> <body> <div class="col-md-12"> <table class="table table-striped" border="1px" width=300 height=100 bgcolor="#d9d9d9"> <caption>Carrinho de Compras</caption> <thead> <tr> <th>Produto</th> <th>Quantidade</th> <th>Preço</th> <th>SubTotal</th> <th>Remover</th> </tr> </thead> <form action="?acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> </tr> <td colspan="5"><a href="index.php">Continuar Comprando</a></td> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr> <td colspan="5">Não há produto no carrinho</td> </tr>'; }else{ require("conexao.php"); $total = 0; foreach($_SESSION['carrinho'] as $id => $qtd){ $pdo= conecta(); $resultado = $pdo ->prepare("SELECT max(ID_LISTA)AS ID FROM listas_preco where cod_cliente = 1"); $resultado->execute(); $lista = $resultado->fetch(PDO::FETCH_ASSOC); $result = $pdo ->prepare("SELECT PRODUTOS.CODIGO, PRODUTOS.DESCRICAO AS DESC, listas_itens.PRECO FROM listas_itens inner join produtos on (listas_itens.cod_produto = produtos.codigo) inner join grupos_produto on (produtos.cod_grupo = grupos_produto.codigo) WHERE PRODUTOS.CODIGO=".$id." and (listas_itens.id_lista = '".$lista['ID']."')"); $result->execute(); $ln = $result->fetch(PDO::FETCH_ASSOC); $nome = $ln['DESC']; $preco = number_format($ln['PRECO'], 2, ',', '.'); $sub = number_format($ln['PRECO'] * $qtd, 2, ',', '.'); $total += $ln['PRECO'] * $qtd; echo '<tr height=70>' . '<td><p>'. $nome .'</p><br/> Tamanho: '. $tam .'</td></br> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td>R$ '.$preco.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </div> </body> </html>
  3. Rafael Motta

    Converter audio .ogg p/ mp3 (FFMpeg)

    Alguém sabe como converter áudio ogg para mp3 com o ffmpeg?
  4. Rafael Motta

    Variavel JavaScript p/ php Datepicker

    Bom dia a todos, estou tendo um problema em relação a pegar a variavel do javascript usando o plugin datepicker e passar pro php, pois quando faço o echo no php ele me retorna uma string muito grande pq está imprimindo todo o echo e nao apenas a variavel... alguem sabe uma forma de pegar apenas a variavel sem usar post, get... seguem os codigos abaixo $(function() { $("#datepicker").datepicker({ onSelect: function(dateText, inst) { $("#data").text(dataText); } }); }); $teste = "<input type=\"text\" id=\"datepicker\" name=\"datepicker\"/>"; echo $teste;
  5. Rafael Motta

    [Resolvido] Baixar arquivos PDF,XML...

    [Resolvido] O problema era a falta do exit() no final, então nao finalizava o post do xml e inseria o conteudo da pagina junto... download.php if (isset($_POST['baixa_xml'])) { $arquivo = "\NFE" . $_POST['xml_palterm'] . ".xml"; header('Content-Disposition: attachment; filename=' . $arquivo); readfile('\\servidor\NFEPalterm' . $arquivo); exit();//FALTAVA } if (isset($_POST['baixa_pdf'])) { $arquivo = "\Nota_" . $_POST['pdf_palterm'] . ".pdf"; header('Content-Disposition: attachment; filename=' . $arquivo); readfile('\\servidor\PDFPalterm' . $arquivo); exit();//FALTAVA }
  6. Rafael Motta

    [Resolvido] Baixar arquivos PDF,XML...

    Estão no servidor... consegui resolver assim(códigos abaixo), porem agora tem um problema no xml, que ao baixar ele, o script ta inserindo a pagina junto(o corpo do site), no caso, abaixo do do conteudo do xml... vendas.php <form method="post"> <input type="text" name="pdf_palterm" id="pdf_palterm" placeholder="."/> <label for="pdf_palterm">Digite o nº do PDF</label> <input type="text" name="xml_palterm" id="xml_palterm" placeholder="."/> <label for="xml_palterm">Digite o nº do XML</label> <input type="submit" name="baixa_pdf" id="" class="btn btn-primary" value="Baixar PDF"> <input type="submit" name="baixa_xml" id="" class="btn btn-success" value="Baixar XML"> </form> download.php if (isset($_POST['baixa_xml'])) { $arquivo = "\NFE" . $_POST['xml_palterm'] . ".xml"; header('Content-Disposition: attachment; filename=' . $arquivo); readfile('\\servidor\NFEPalterm' . $arquivo); } if (isset($_POST['baixa_pdf'])) { $arquivo = "\Nota_" . $_POST['pdf_palterm'] . ".pdf"; header('Content-Disposition: attachment; filename=' . $arquivo); readfile('\\servidor\PDFPalterm' . $arquivo); }
  7. Rafael Motta

    [Resolvido] Baixar arquivos PDF,XML...

    Bom dia, queria saber se alguém saberia me informar como faço para criar um botao para baixar um arquivo, mas deixando o usuario escolher qual o arquivo(exemplo notas fiscais...), o usuario passaria o parâmetro em vez de deixar ja pré-definido qual arquivo vai ser baixado no botao... segue o que encontrei abaixo... Vendas.php <?php require '../../../functions/conexao.php'; ?> <div class="row"><br> <div class="col-xs-12"> <div class="panel panel-default"> <div class="panel-heading">Vendas</div> <div class="panel-body"> <form> <br/> <button type="submit"><a href="download.php?arquivo=377328.pdf">Baixar PDF</a></button> </form> </div> </div> </div> Download.php <?php // Aqui vale qualquer coisa, desde que seja um diretório seguro :) define('DIR_DOWNLOAD', '\\10.0.0.140\EMPRESA\Nota_'); // Vou dividir em passos a criação da variável $arquivo pra ficar mais fácil de entender, mas você pode juntar tudo $arquivo = $_GET['arquivo']; // Retira caracteres especiais $arquivo = filter_var($arquivo, FILTER_SANITIZE_STRING); // Retira qualquer ocorrência de retorno de diretório que possa existir, deixando apenas o nome do arquivo $arquivo = basename($arquivo); // Aqui a gente só junta o diretório com o nome do arquivo $caminho_download = DIR_DOWNLOAD . $arquivo; // Verificação da existência do arquivo if (!file_exists($caminho_download)) die('Arquivo não existe!'); header('Content-type: octet/stream'); // Indica o nome do arquivo como será "baixado". Você pode modificar e colocar qualquer nome de arquivo header('Content-disposition: attachment; filename="' . $arquivo . '";'); // Indica ao navegador qual é o tamanho do arquivo header('Content-Length: ' . filesize($caminho_download)); // Busca todo o arquivo e joga o seu conteúdo para que possa ser baixado readfile($caminho_download); exit;
  8. Rafael Motta

    DataTables, Child rows

    Olá a todos, estou tendo um problema com os datatables aninhados, as child rows(detalhes), estão mostrando todos os dados, mas eu quero que cada informação permaneça em sua linha, alguém pode me ajudar? meu código abaixo e uma imagem pra ilustrar melhor ... link dos dois jsons que pego os dados jsonData.php: https://codebeautify.org/jsonvalidator/cb5bc515 jsonNota.php: https://codebeautify.org/jsonvalidator/cbd08a36 function format(table_id) { return '<hr/>' + '<table cellpadding="5" id="detalhes' + table_id + '" class="display" cellspacing="0" border="0" width="50%" style="padding-left:80px;">' + '<thead><tr><th>Cód. Nota:</th><th>Cód. Produto:</th><th>Descrição:</th><th>Quantidade:</th><th>R$ Unid.:</th><th>% IPI:</th><th>R$ IPI:</th><th>% Desc.:</th><th>R$ Desc.:</th><th>Desc. Unit.:</th><th>R$ Total:</th></tr></thead>' + '</table>' + '<hr/>'; } var iTableCounter = 1; var oInnerTable; $(document).ready(function() { TableHtml = $('#example').html(); var table = $('#example').DataTable({ "bProcessing": true, //"paging": false, "searching": false, //"info": false, "rowId": 'NOTA', "ajax": { "url": 'forms/customer-details/jsonData.php', "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } }, "scrollX": true, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "aLengthMenu": [[10, 20, 30, 50, -1], [10, 20, 30, 50, "Todos"]], "aoColumns": [ { "class": 'details-control', "orderable": false, "data": null, "defaultContent": '' }, {"mData": "NOTA"}, {"mData": "NRO_NOTA"}, {"mData": "EMISSAO", render: function(data, type, row) { var dateSplit = data.split('-'); return type === "display" || type === "filter" ? dateSplit[1] + '/' + dateSplit[2] + '/' + dateSplit[0] : data; } }, {"mData": "QUANTIDADE1", render: $.fn.dataTable.render.number()}, {"mData": "BRUTO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_DESCONTO1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "TOTAL1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_IPI1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "VALOR_SUBST", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "TOTAL_NF", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PRECO_MEDIO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "REPRES_NOME"}, {"mData": "VENDEDOR_NOME"}, {"mData": "OP_NOME"}, {"mData": "FRANQUEADO_NOME"}, {"mData": "CARTEIRA"}, {"mData": "TRANSP_NOME"}, {"mData": "RASTREAMENTO_CORREIO"}, {"mData": "CONHECIMENTO"}, {"mData": "VALOR_FRETE", render: $.fn.dataTable.render.number('.', ',', 2, 'R$ ')}, {"mData": "PERCENTUAL", render: $.fn.dataTable.render.number('.', ',', 2, '% ')}, {"mData": "DESCRICAO"}, {"mData": "DATA_OCORRENCIA"} ], "order": [[1, "desc"]] }); $('#example tbody').on('click', 'td.details-control', function() { var tr = $(this).closest('tr'); var row = table.row(tr); if (row.child.isShown()) { row.child.hide(); tr.removeClass('shown'); } else { row.child(format(iTableCounter)).show(); tr.addClass('shown'); oInnerTable = $('#detalhes' + iTableCounter).DataTable({ "bProcessing": true, "ajax": { "url": 'forms/customer-details/jsonNota.php', "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } }, "autoWidth": true, //"deferRender": true, "info": false, //"lengthChange": false, //"ordering": false, //"paging": false, //"scrollX": false, //scrollY": false, "searching": false, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "aLengthMenu": [[10, 20, 30, 50, -1], [10, 20, 30, 50, "Todos"]], "aoColumns": [ {"mData": "NOTA"}, {"mData": "COD_PRODUTO"}, {"mData": "DESC_PROD"}, {"mData": "QUANTIDADE"}, {"mData": "UNITARIO"}, {"mData": "PCT_IPI"}, {"mData": "VALOR_IPI"}, {"mData": "DESCONTO"}, {"mData": "VALOR_DESCONTO"}, {"mData": "DESC_UNITARIO"}, {"mData": "TOTAL"} ], "order": [[0, "desc"], [1, "asc"]] }); iTableCounter = iTableCounter + 1; } }); });
  9. Rafael Motta

    Unir array com colunas iguais

    Boa tarde a todos, tenho um codigo que gera um json com dados em array, porém ele está separando os dados do array, como da pra ver abaixo... precisava que ele juntasse tudo em um array, para uso no datatables (colunas iguais, mas dados diferentes, isso ta dando conflito...) Array ( [aaData] => Array ( [0] => Array ( [NOTA] => 484706 [NRO_NOTA] => 377328 [EMISSAO] => 2018-02-16 [QUANTIDADE1] => 24.000 [TOTAL1] => 595.950000 [VALOR_DESCONTO1] => 0.00 [VALOR_IPI1] => 91.45 [VALOR_SUBST] => 167.7905 [REPRES_NOME] => TMK [VENDEDOR_NOME] => . [OP_NOME] => ALINE [FRANQUEADO_NOME] => . [TRANSP_NOME] => BRASPRESS TRANSP. URGENTES LTDA [CARTEIRA] => ATIVO 2 [OCORRENCIA] => 0 [DATA_OCORRENCIA] => [COD_TRANSPORTADOR] => 4 [RASTREAMENTO_CORREIO] => [BRUTO] => 595.950000 [PRECO_MEDIO] => 24.831250 [TOTAL_NF] => 855.190500 [CONHECIMENTO] => 0 [VALOR_FRETE] => 0 [PERCENTUAL] => 0 [DESCRICAO] => . [0] => Array ( [COD_PRODUTO] => 313 [DESC_PROD] => PALM BAC [QUANTIDADE] => 6.000 [UNITARIO] => 13.000000 [PCT_IPI] => 0.00 [VALOR_IPI] => 0.00 [DESCONTO] => 0.00 [DESC_UNITARIO] => 0.00000000 [VALOR_DESCONTO] => 0.00 [TOTAL] => 78.000000 [ID_NOTAITEM] => 2886795 ) [1] => Array ( [COD_PRODUTO] => 522 [DESC_PROD] => CALC [QUANTIDADE] => 3.000 [UNITARIO] => 34.100000 [PCT_IPI] => 0.00 [VALOR_IPI] => 0.00 [DESCONTO] => 0.00 [DESC_UNITARIO] => 0.00000000 [VALOR_DESCONTO] => 0.00 [TOTAL] => 102.300000 [ID_NOTAITEM] => 2886796 ) [2] => Array ( [COD_PRODUTO] => 781 [DESC_PROD] => MAQUI [QUANTIDADE] => 6.000 [UNITARIO] => 27.710000 [PCT_IPI] => 22.00 [VALOR_IPI] => 36.58 [DESCONTO] => 0.00 [DESC_UNITARIO] => 0.00000000 [VALOR_DESCONTO] => 0.00 [TOTAL] => 166.260000 [ID_NOTAITEM] => 2886797 ) [3] => Array ( [COD_PRODUTO] => 782 [DESC_PROD] => MAQUIA [QUANTIDADE] => 3.000 [UNITARIO] => 27.710000 [PCT_IPI] => 22.00 [VALOR_IPI] => 18.29 [DESCONTO] => 0.00 [DESC_UNITARIO] => 0.00000000 [VALOR_DESCONTO] => 0.00 [TOTAL] => 83.130000 [ID_NOTAITEM] => 2886798 ) [4] => Array ( [COD_PRODUTO] => 789 [DESC_PROD] => TONAL [QUANTIDADE] => 6.000 [UNITARIO] => 27.710000 [PCT_IPI] => 22.00 [VALOR_IPI] => 36.58 [DESCONTO] => 0.00 [DESC_UNITARIO] => 0.00000000 [VALOR_DESCONTO] => 0.00 [TOTAL] => 166.260000 [ID_NOTAITEM] => 2886799 ) ) segue meu codigo abaixo require '../../../functions/conexao.php'; $idCustomer = $_REQUEST['idCustomer']; $pdo = conecta(); $consultar = $pdo->prepare("SELECT NOTAS.NOTA,NOTAS.NRO_NOTA,NOTAS.EMISSAO,Sum(NOTAS_ITEM.QUANTIDADE) AS QUANTIDADE1, Sum(NOTAS_ITEM.TOTAL) AS TOTAL1," . " Sum(NOTAS_ITEM.VALOR_DESCONTO) AS VALOR_DESCONTO1, Sum(NOTAS_ITEM.VALOR_IPI) AS VALOR_IPI1, Sum(COALESCE(NOTAS_ITEM.ICMS_SUBST_VALOR,0)) AS VALOR_SUBST, " . "REPRESENTANTES.NOME AS REPRES_NOME, VENDEDORES.NOME AS VENDEDOR_NOME, OP_TELEMARKETING.NOME AS OP_NOME, FRANQUEADOS.NOME AS FRANQUEADO_NOME, " . "TRANSPORTADORAS.NOME AS TRANSP_NOME, CARTEIRA.CARTEIRA, COALESCE(NOTAS.OCORRENCIA,'')AS OCORRENCIA, COALESCE(NOTAS.DATA_OCORRENCIA,'') AS DATA_OCORRENCIA, " . "NOTAS.COD_TRANSPORTADOR,COALESCE(PEDIDOS.RASTREAMENTO_CORREIO,'') AS RASTREAMENTO_CORREIO," . "Sum(NOTAS_ITEM.VALOR_DESCONTO)+Sum(NOTAS_ITEM.TOTAL) AS BRUTO," . "Sum(NOTAS_ITEM.TOTAL)/Sum(NOTAS_ITEM.QUANTIDADE)AS PRECO_MEDIO," . "Sum(NOTAS_ITEM.TOTAL)+Sum(NOTAS_ITEM.VALOR_IPI)+Sum(COALESCE(NOTAS_ITEM.ICMS_SUBST_VALOR,0))AS TOTAL_NF " . "FROM NOTAS left outer join pedidos on (notas.pedido = pedidos.pedido) INNER JOIN CARTEIRA ON (NOTAS.COD_CARTEIRA = CARTEIRA.COD_CARTEIRA) " . "INNER JOIN NATUREZAS_OPERACAO ON (NOTAS.COD_NATUREZA = NATUREZAS_OPERACAO.COD_NATUREZA) AND (NOTAS.SEQ = NATUREZAS_OPERACAO.SEQ) INNER JOIN NOTAS_ITEM ON " . "(NOTAS.NOTA = NOTAS_ITEM.NOTA) INNER JOIN REPRESENTANTES ON (NOTAS.COD_REPRESENTANTE = REPRESENTANTES.CODIGO) INNER JOIN FRANQUEADOS ON " . "(NOTAS.COD_FRANQUEADO = FRANQUEADOS.CODIGO) INNER JOIN VENDEDORES ON (NOTAS.COD_VENDEDOR = VENDEDORES.CODIGO) INNER JOIN OP_TELEMARKETING ON " . "(NOTAS.COD_OP_TMK = OP_TELEMARKETING.CODIGO) INNER JOIN TRANSPORTADORAS ON (NOTAS.COD_TRANSPORTADOR = TRANSPORTADORAS.CODIGO) " . "Where NOTAS.COD_CLIENTE= :idCustomer AND (NATUREZAS_OPERACAO.TIPO=1) GROUP BY NOTAS.NOTA,NOTAS.NRO_NOTA,NOTAS.EMISSAO, REPRESENTANTES.NOME," . "VENDEDORES.NOME, OP_TELEMARKETING.NOME, FRANQUEADOS.NOME, TRANSPORTADORAS.NOME, CARTEIRA.CARTEIRA, NOTAS.OCORRENCIA, NOTAS.DATA_OCORRENCIA, " . "NOTAS.COD_TRANSPORTADOR, PEDIDOS.RASTREAMENTO_CORREIO order by NOTAS.NOTA DESC"); $consultar->bindValue(':idCustomer', $idCustomer, PDO::PARAM_INT); $consultar->execute(); $i = 0; $j = 0; $resultado = []; while ($linha = $consultar->fetch(PDO::FETCH_ASSOC)) { $consultar2 = $pdo->prepare("SELECT COALESCE(CONHECIMENTO,'')AS CONHECIMENTO,VALOR_FRETE," . "(VALOR_FRETE /" . $linha['TOTAL1'] . ")*100 AS PERCENTUAL FROM CONHECIMENTOS WHERE COD_ENTREGA=1 AND NF=" . $linha['NOTA']); $consultar2->execute(); $linha2 = $consultar2->fetch(PDO::FETCH_ASSOC); if (($linha['COD_TRANSPORTADOR']) == 131) { $consultar3 = $pdo->prepare("SELECT DESCRICAO FROM OCORRENCIAS_TRANSP_MERCURIO WHERE ID= " . $linha['OCORRENCIA']); $consultar3->execute(); $linha3 = $consultar3->fetch(PDO::FETCH_ASSOC); } else { $consultar3 = $pdo->prepare("SELECT DESCRICAO FROM OCORRENCIAS_TRANSP WHERE ID =" . $linha['OCORRENCIA']); $consultar3->execute(); $linha3 = $consultar3->fetch(PDO::FETCH_ASSOC); } $consultar4 = $pdo->prepare("SELECT FIRST 1 NOTA from NOTAS Where NRO_NOTA= " . $linha['NRO_NOTA'] . " and COD_CLIENTE= :idCustomer order by EMISSAO desc"); $consultar4->bindValue(':idCustomer', $idCustomer, PDO::PARAM_INT); $consultar4->execute(); $linha4 = $consultar4->fetch(PDO::FETCH_ASSOC); $consultar5 = $pdo->prepare("SELECT COD_PRODUTO,(DESCRICAO)AS DESC_PROD,QUANTIDADE,UNITARIO,PCT_IPI,VALOR_IPI,DESCONTO,((UNITARIO * DESCONTO)/100)AS DESC_UNITARIO,VALOR_DESCONTO,TOTAL,ID_NOTAITEM From NOTAS_ITEM " . "Where NOTA= " . $linha4['NOTA'] . ""); $consultar5->execute(); while ($linha5 = $consultar5->fetch(PDO::FETCH_ASSOC)) { $arr5[$j] = $linha5; //$resultado5 = $arr5[$j]; $j++; } $arr[] = $linha; $arr2[] = $linha2; $arr3[] = $linha3; $resultado2 = $arr[$i]; if (empty($resultado3)) { $resultado3 = array( "CONHECIMENTO" => 0, "VALOR_FRETE" => 0, "PERCENTUAL" => 0); } else { $resultado3 = $arr2[$i]; } $resultado4 = $arr3[$i]; $i ++; $res = array_merge($resultado2, $resultado3, $resultado4, $arr5); if (empty($resultado)) { array_unshift($resultado, $res); } else { array_push($resultado, $res); } $result = array("aaData" => $resultado); } echo json_encode($result);
  10. Rafael Motta

    [Resolvido] Datatables PDO

    Valeu cara!! consegui resolver assim na sales.php $('#example').dataTable( { "ajax": { "url": "jsonData.php", "type": 'POST', "data": { "idCustomer": <?php echo $idCustomer; ?> } } } ); e pra receber o parametro na jsonData.php usei $idCustomer = $_POST['idCustomer'];
  11. Rafael Motta

    [Resolvido] Datatables PDO

    Pois é cara, mas eu recebo o parametro ($idCustomer), aqui (na pagina sales.php) $idCustomer = $_REQUEST['idCustomer']; e se eu fosse enviar ele para a pagina jsonData.php, seria algo tipo isso? $('#example').dataTable( { "ajax": { "url": "jsonData.php", "data": { "cod_cliente": $idCustomer = $_REQUEST['idCustomer']; } } } );
  12. Rafael Motta

    [Resolvido] Datatables PDO

    Olá pessoal, alguem sabe como envio um parametro que recebo por $_REQUEST na pagina sales.php(abaixo), para a pagina jsonData.php(abaixo), tem alguns codigos comentados de algumas tentativas frustradas minhas... sales.php <?php require '../../../functions/conexao.php'; require '../../../functions/crud.php'; require '../../../functions/crud2.php'; //header('Content-Type: text/html; charset=utf-8'); $idCustomer = $_REQUEST['idCustomer']; ?> <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css"> <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script language="javascript"> $(document).ready(function() { $('#example').dataTable({ "scrollX": true, "language": { "sUrl": "../plugins/datatables/Portuguese-Brasil.json" }, "bProcessing": true, "aLengthMenu": [[5, 10, 20, 50, -1], [5, 10, 20, 50, "Todos"]], "sAjaxSource": 'jsonData.php', "serverSide": true, "aoColumns": [ {"mData": "NOTA"}, {"mData": "NRO_NOTA"}, {"mData": "EMISSAO"}, {"mData": "QUANTIDADE1", render: $.fn.dataTable.render.number()}, {"mData": "TOTAL1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "VALOR_DESCONTO1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "VALOR_IPI1", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "VALOR_SUBST", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "REPRES_NOME"}, {"mData": "VENDEDOR_NOME"}, {"mData": "OP_NOME"}, {"mData": "FRANQUEADO_NOME"}, {"mData": "TRANSP_NOME"}, {"mData": "OP_NOME"}, {"mData": "FRANQUEADO_NOME"}, {"mData": "TRANSP_NOME"}, {"mData": "CARTEIRA"}, {"mData": "OCORRENCIA"}, {"mData": "DATA_OCORRENCIA"}, {"mData": "COD_TRANSPORTADOR"}, {"mData": "RASTREAMENTO_CORREIO"}, {"mData": "BRUTO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "PRECO_MEDIO", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "TOTAL_NF", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "DESCRICAO"}, {"mData": "CONHECIMENTO"}, {"mData": "VALOR_FRETE", render: $.fn.dataTable.render.number('.', ',', 2, 'R$')}, {"mData": "PERCENTUAL", render: $.fn.dataTable.render.number('.', ',', 2, '%')} ] }); //$.fn.dataTable.ext.errMode = 'throw'; } ); </script> <div class="row"><br> <div class="col-xs-12"> <div class="panel panel-default"> <div class="panel-heading">Vendas</div> <div class="panel-body"> <form action="jsonData.php?idCustomer=<?php echo $idCustomer ?>" method="post"> <table id="example" class="display nowrap" width="300%" cellspacing="0"> <thead> <tr> <th>TESTE</th> <th>TESTE</th> <th>TESTE</th> <th>TESTE</th> <th>TESTE</th> <th>Empresa</th> <th>NF</th> <th>Emissão</th> <th>Itens</th> <th>Bruto</th> <th>Desconto</th> <th>Líquido</th> <th>IPI</th> <th>Subst. Trib.</th> <th>Total NF</th> <th>Preço Médio</th> <th>Representante</th> <th>Vendedor</th> <th>Operador</th> <th>Franqueado</th> <th>Carteira</th> <th>Transportadora</th> <th>Rastreamento</th> <th>Conhecimento</th> <th>Frete</th> <th>%</th> <th>Ocorrência</th> <th>Data Ocorrência</th> </tr> </thead> </table> </form> </div> </div> </div> </div> <script> chamaScripts(); </script> jsonData.php <?php require '../../../functions/conexao.php'; $idCustomer = $_REQUEST['idCustomer']; //function notasVendas($idCustomer) { $pdo = conecta(); $consultar = $pdo->prepare("SELECT NOTAS.NOTA,NOTAS.NRO_NOTA,NOTAS.EMISSAO,Sum(NOTAS_ITEM.QUANTIDADE) AS QUANTIDADE1, Sum(NOTAS_ITEM.TOTAL) AS TOTAL1," . " Sum(NOTAS_ITEM.VALOR_DESCONTO) AS VALOR_DESCONTO1, Sum(NOTAS_ITEM.VALOR_IPI) AS VALOR_IPI1, Sum(COALESCE(NOTAS_ITEM.ICMS_SUBST_VALOR,0)) AS VALOR_SUBST, " . "REPRESENTANTES.NOME AS REPRES_NOME, VENDEDORES.NOME AS VENDEDOR_NOME, OP_TELEMARKETING.NOME AS OP_NOME, FRANQUEADOS.NOME AS FRANQUEADO_NOME, " . "TRANSPORTADORAS.NOME AS TRANSP_NOME, CARTEIRA.CARTEIRA, NOTAS.OCORRENCIA, COALESCE(NOTAS.DATA_OCORRENCIA,'0') AS DATA_OCORRENCIA, " . "NOTAS.COD_TRANSPORTADOR,NULLIF(PEDIDOS.RASTREAMENTO_CORREIO,'') AS RASTREAMENTO_CORREIO," . "Sum(NOTAS_ITEM.VALOR_DESCONTO)+Sum(NOTAS_ITEM.TOTAL) AS BRUTO," . "Sum(NOTAS_ITEM.TOTAL)/Sum(NOTAS_ITEM.QUANTIDADE)AS PRECO_MEDIO," . "Sum(NOTAS_ITEM.TOTAL)+Sum(NOTAS_ITEM.VALOR_IPI)+Sum(COALESCE(NOTAS_ITEM.ICMS_SUBST_VALOR,0))AS TOTAL_NF " . "FROM NOTAS left outer join pedidos on (notas.pedido = pedidos.pedido) INNER JOIN CARTEIRA ON (NOTAS.COD_CARTEIRA = CARTEIRA.COD_CARTEIRA) " . "INNER JOIN NATUREZAS_OPERACAO ON (NOTAS.COD_NATUREZA = NATUREZAS_OPERACAO.COD_NATUREZA) AND (NOTAS.SEQ = NATUREZAS_OPERACAO.SEQ) INNER JOIN NOTAS_ITEM ON " . "(NOTAS.NOTA = NOTAS_ITEM.NOTA) INNER JOIN REPRESENTANTES ON (NOTAS.COD_REPRESENTANTE = REPRESENTANTES.CODIGO) INNER JOIN FRANQUEADOS ON " . "(NOTAS.COD_FRANQUEADO = FRANQUEADOS.CODIGO) INNER JOIN VENDEDORES ON (NOTAS.COD_VENDEDOR = VENDEDORES.CODIGO) INNER JOIN OP_TELEMARKETING ON " . "(NOTAS.COD_OP_TMK = OP_TELEMARKETING.CODIGO) INNER JOIN TRANSPORTADORAS ON (NOTAS.COD_TRANSPORTADOR = TRANSPORTADORAS.CODIGO) " . "Where NOTAS.COD_CLIENTE= :idCustomer AND (NATUREZAS_OPERACAO.TIPO=1) GROUP BY NOTAS.NOTA,NOTAS.NRO_NOTA,NOTAS.EMISSAO, REPRESENTANTES.NOME," . "VENDEDORES.NOME, OP_TELEMARKETING.NOME, FRANQUEADOS.NOME, TRANSPORTADORAS.NOME, CARTEIRA.CARTEIRA, NOTAS.OCORRENCIA, NOTAS.DATA_OCORRENCIA, " . "NOTAS.COD_TRANSPORTADOR, PEDIDOS.RASTREAMENTO_CORREIO order by NOTAS.NOTA desc"); $consultar->bindValue(':idCustomer', $idCustomer, PDO::PARAM_INT); $consultar->execute(); $i = 0; $resultado = []; while ($linha = $consultar->fetch(PDO::FETCH_ASSOC)) { $consultar2 = $pdo->prepare("SELECT CONHECIMENTO,VALOR_FRETE," . "(VALOR_FRETE /" . $linha['TOTAL1'] . ")*100 AS PERCENTUAL FROM CONHECIMENTOS WHERE COD_ENTREGA=1 AND NF=" . $linha['NOTA']); $consultar2->execute(); $linha2 = $consultar2->fetch(PDO::FETCH_ASSOC); if (($linha['COD_TRANSPORTADOR']) == 131) { $consultar3 = $pdo->prepare("SELECT DESCRICAO FROM OCORRENCIAS_TRANSP_MERCURIO WHERE ID= " . $linha['OCORRENCIA']); $consultar3->execute(); $linha3 = $consultar3->fetch(PDO::FETCH_ASSOC); } else { $consultar3 = $pdo->prepare("SELECT DESCRICAO FROM OCORRENCIAS_TRANSP WHERE ID =" . $linha['OCORRENCIA']); $consultar3->execute(); $linha3 = $consultar3->fetch(PDO::FETCH_ASSOC); } $arr[] = $linha; $arr2[] = $linha2; $arr3[] = $linha3; $resultado2 = $arr[$i]; if (empty($resultado3)) { $resultado3 = array( "CONHECIMENTO" => 0, "VALOR_FRETE" => 0, "PERCENTUAL" => 0); } else { $resultado3 = $arr2[$i]; } $resultado4 = $arr3[$i]; $res = array_merge($resultado2, $resultado3, $resultado4); if (empty($resultado)) { array_unshift($resultado, $res); } else { array_push($resultado, $res); } $result = array("aaData" => $resultado); $i ++; } echo json_encode($result); //}
  13. Bom dia, preciso pegar os dados da minha função (em anexo abaixo), e enviar para minha tabela datatables com child rows. Alguém sabe como faço isso sem ser via ajax e direto da função php? obs: construo minha tabela (tbody) dentro da função. FUNÇÃO SELECT NO BANCO function notasVendas($idCustomer) { $pdo = conecta(); try { $consultar = $pdo->prepare("SELECT NOTAS.NOTA,NOTAS.NRO_NOTA,NOTAS.EMISSAO,Sum(NOTAS_ITEM.QUANTIDADE) AS QUANTIDADE1, Sum(NOTAS_ITEM.TOTAL) AS TOTAL1," . " Sum(NOTAS_ITEM.VALOR_DESCONTO) AS VALOR_DESCONTO1, Sum(NOTAS_ITEM.VALOR_IPI) AS VALOR_IPI1, Sum(COALESCE(NOTAS_ITEM.ICMS_SUBST_VALOR,0)) AS VALOR_SUBST, " . "REPRESENTANTES.NOME AS REPRES_NOME, VENDEDORES.NOME AS VENDEDOR_NOME, OP_TELEMARKETING.NOME AS OP_NOME, FRANQUEADOS.NOME AS FRANQUEADO_NOME, " . "TRANSPORTADORAS.NOME AS TRANSP_NOME, CARTEIRA.CARTEIRA, NOTAS.OCORRENCIA, NOTAS.DATA_OCORRENCIA, NOTAS.COD_TRANSPORTADOR, PEDIDOS.RASTREAMENTO_CORREIO " . "FROM NOTAS left outer join pedidos on (notas.pedido = pedidos.pedido) INNER JOIN CARTEIRA ON (NOTAS.COD_CARTEIRA = CARTEIRA.COD_CARTEIRA) " . "INNER JOIN NATUREZAS_OPERACAO ON (NOTAS.COD_NATUREZA = NATUREZAS_OPERACAO.COD_NATUREZA) AND (NOTAS.SEQ = NATUREZAS_OPERACAO.SEQ) INNER JOIN NOTAS_ITEM ON " . "(NOTAS.NOTA = NOTAS_ITEM.NOTA) INNER JOIN REPRESENTANTES ON (NOTAS.COD_REPRESENTANTE = REPRESENTANTES.CODIGO) INNER JOIN FRANQUEADOS ON " . "(NOTAS.COD_FRANQUEADO = FRANQUEADOS.CODIGO) INNER JOIN VENDEDORES ON (NOTAS.COD_VENDEDOR = VENDEDORES.CODIGO) INNER JOIN OP_TELEMARKETING ON " . "(NOTAS.COD_OP_TMK = OP_TELEMARKETING.CODIGO) INNER JOIN TRANSPORTADORAS ON (NOTAS.COD_TRANSPORTADOR = TRANSPORTADORAS.CODIGO) " . "Where NOTAS.COD_CLIENTE= :idCustomer AND (NATUREZAS_OPERACAO.TIPO=1) GROUP BY NOTAS.NOTA,NOTAS.NRO_NOTA,NOTAS.EMISSAO, REPRESENTANTES.NOME," . "VENDEDORES.NOME, OP_TELEMARKETING.NOME, FRANQUEADOS.NOME, TRANSPORTADORAS.NOME, CARTEIRA.CARTEIRA, NOTAS.OCORRENCIA, NOTAS.DATA_OCORRENCIA, " . "NOTAS.COD_TRANSPORTADOR, PEDIDOS.RASTREAMENTO_CORREIO order by NOTAS.NOTA desc"); $consultar->bindValue(':idCustomer', $idCustomer, PDO::PARAM_INT); $consultar->execute(); while ($linha = $consultar->fetch(PDO::FETCH_OBJ)) { echo "<tr><td>" . "Empresa" . "</td>"; echo "<td>" . $linha->NRO_NOTA . "</td>"; echo "<td>" . date_format(new DateTime($linha->EMISSAO), "d/m/Y") . "</td>"; echo "<td>" . number_format($linha->QUANTIDADE1) . "</td>"; echo "<td>" . number_format(($linha->TOTAL1) + ($linha->VALOR_DESCONTO1), 2, ',', '.') . "</td>"; echo "<td>" . number_format($linha->VALOR_DESCONTO1, 2, ',', '.') . "</td>"; echo "<td>" . number_format($linha->TOTAL1, 2, ',', '.') . "</td>"; echo "<td>" . number_format($linha->VALOR_IPI1, 2, ',', '.') . "</td>"; echo "<td>" . number_format($linha->VALOR_SUBST, 2, ',', '.') . "</td>"; echo "<td>" . number_format(($linha->TOTAL1) + ($linha->VALOR_IPI1) + ($linha->VALOR_SUBST), 2, ',', '.') . "</td>"; echo "<td>" . number_format(($linha->TOTAL1) / ($linha->QUANTIDADE1), 2, ',', '.') . "</td>"; echo "<td>" . $linha->REPRES_NOME . "</td>"; echo "<td>" . $linha->VENDEDOR_NOME . "</td>"; echo "<td>" . $linha->OP_NOME . "</td>"; echo "<td>" . $linha->FRANQUEADO_NOME . "</td>"; echo "<td>" . $linha->CARTEIRA . "</td>"; echo "<td>" . $linha->TRANSP_NOME . "</td>"; echo "<td>" . $linha->RASTREAMENTO_CORREIO . "</td>"; if ($linha2 = consultaSql("SELECT CONHECIMENTO, VALOR_FRETE FROM CONHECIMENTOS WHERE NF=" . $linha->NOTA . "AND COD_ENTREGA=1")) { echo "<td>" . $linha2->CONHECIMENTO . "</td>"; echo "<td>" . number_format(($linha2->VALOR_FRETE), 2, ',', '.') . "</td>"; $perc = number_format((($linha2->VALOR_FRETE) / ($linha->TOTAL1) * 100), 2, ',', '.'); echo "<td>" . $perc . "</td>"; } else { echo "</td></td>"; } if (($linha->COD_TRANSPORTADOR) == 131) { $linha3 = consultaSql("SELECT DESCRICAO FROM OCORRENCIAS_TRANSP_MERCURIO WHERE ID= " . $linha->OCORRENCIA); echo "<td>" . $linha3->DESCRICAO . "</td>"; } else { $linha4 = consultaSql("SELECT DESCRICAO FROM OCORRENCIAS_TRANSP WHERE ID =" . $linha->OCORRENCIA); echo "<td>" . $linha4->DESCRICAO . "</td>"; } if (($linha->DATA_OCORRENCIA) != '') { echo "<td>" . date_format(new DateTime($linha->DATA_OCORRENCIA), "d/m/Y H:i:s") . "</td></tr>"; } } } catch (PDOException $e) { echo $e->getMessage(); } }
  14. Rafael Motta

    Jquery Tristate Checkbox

    Segue em anexo o exemplo do script: $(function() { function output(state, value) { $('#expando-value').text(value); } $('#expando').tristate({ init: output, change: output }); }); Aqui o html... <div><input id="expando" value="" checkedvalue="S" uncheckedvalue="N" indeterminatevalue="R" type="checkbox"></div> <div>Current value returned by <code>$.val()</code>: <span id="expando-value" class="output"></span></div> Para melhor entendimento, coloquei ele sendo executado no site https://jsfiddle.net/pk9pbyy6/21/
  15. Rafael Motta

    Jquery Tristate Checkbox

    Bom dia pessoal, queria saber se alguém consegue me ajudar com o jquery.tristate checkbox... ele retorna o valor dentro das tags <span>valor</span>, queria saber se alguém sabe como pegar esse valor e enviar pra dentro de um value no <input type="hidden">... Desde já agradeço!
×

Informação importante

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