Ir para conteúdo

Pedro Batista Lopes

Members
  • Total de itens

    6
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Pedro Batista Lopes

  1. Pedro Batista Lopes

    json_encode caracteres especiais Ç e acentos retornam null

    Alguém poderia me ajudar faço uma busca no meu banco de dados, e faço um json_encode para mandar para o front. Mais as palavras que tem caracteres especiais Ç e acentos retornam null, não posso mudar a formatação do banco de dados. Segue o código. <?php require_once "../includes/php/conectar_bd.php"; require_once "../validar_sessao.php"; header('Content-type: text/html; charset=UTF-8') ; if ($conn->connect_errno) { echo "Falha ao conectar: " . $db->connect_errno; } //if ($_REQUEST['usr_logado'] == "") return; $mes_inicio = 1;//$_REQUEST['mes_inicio']; $mes_fim =2;// $_REQUEST['mes_fim']; $ano = 2019;// $_REQUEST['ano']; $cod_nat_oper = '1,40,42,99,18,292,51,302,303';$_REQUEST['nat_operacao']; if (is_array($cod_nat_oper)) $cod_nat_oper = implode(",",$cod_nat_oper); //if (is_array($cod_nat_oper)) $cod_nat_oper = implode(",",$cod_nat_oper); $Result_atendente = "SELECT a.empresa ,a.cliente ,b.nom_cliente ,e.cod_uni_feder ,d.cod_repres ,f.den_tip_cli"; $meses_total = null; for($mes = $mes_inicio; $mes <= $mes_fim; $mes++) { $Result_atendente .= ",SUM(CASE WHEN MONTH(dat_hor_emissao) = $mes THEN 1 ELSE 0 END) AS Qtd_mes$mes"; $meses_total[] = $mes; } $meses_total = implode($meses_total, ','); $Result_atendente .= ",SUM(CASE WHEN MONTH(dat_hor_emissao) IN($meses_total) THEN 1 ELSE 0 END) AS total"; $Result_atendente .= " FROM fat_nf_mestre a join clientes b on (b.cod_cliente = a.cliente) join fat_nf_item c on (c.empresa = a.empresa and c.trans_nota_fiscal = a.trans_nota_fiscal) join pedidos d on (d.cod_empresa = c.empresa and d.num_pedido = c.pedido) join cidades e on (e.cod_cidade = b.cod_cidade) join tipo_cliente f on (f.cod_tip_cli = b.cod_tip_cli) WHERE a.empresa IN (10,30,50,51) and YEAR(dat_hor_emissao) = $ano and d.Cod_tip_carteira = '1' and c.seq_item_nf = '1' and a.sit_nota_fiscal <> 'C' and a.natureza_operacao in (1,40,42,99,18,292,51,302,303) GROUP BY 1,2,3,4,5,6 HAVING SUM(CASE WHEN MONTH(dat_hor_emissao) IN($meses_total) THEN 1 ELSE 0 END) > 0"; $resultado_atendente = $db->prepare($Result_atendente); $resultado_atendente->execute(); $dado['rows'] = array(); while ($row_atendente = $resultado_atendente->fetch(PDO::FETCH_OBJ)) {array_push($dado['rows'], $row_atendente);} //echo "<pre>"; //echo $dado['nom_cliente']; //echo "</pre>"; echo json_encode($dado,JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); ?> e sai assim. { empresa: "10", cliente: "025368835000120", nom_cliente: null,****************************Campo com carecteres especiais cod_uni_feder: "MT", cod_repres: "533", den_tip_cli: "REVENDEDOR ", qtd_mes1: "1", qtd_mes2: "0", total: "1" },
  2. Pedro Batista Lopes

    Criar um campo soma

    Isso mesmo valeu?
  3. Pedro Batista Lopes

    Acesso ao banco de dados

    Olá eu estou fazendo um sistema em php com mysql, estou com uma dificuldade se alguém puder me ajudar. Esse programa se conecta no banco de dados e recebe uma query, transformo essa query em um json, para jogar no front, mais estou com dificuldade no tratamento dessa query. segue o codgio. <?php $hostname = 'localhost'; $bancodados = 'sistema'; $usuario = 'root'; $senha =''; $conn = new mysqli($hostname,$usuario,$senha,$bancodados); if ($conn->connect_errno) { echo "Falha ao conectar: " . $mysqli->connect_errno; } $result_nota = "select DISTINCT cli.nome, nf.numero_nf, nf.data_em, nf.valor from cliente cli join nota_fiscal nf on cli.id = nf.id_cliente WHERE nf.data_em >= '2019-01-01' and nf.data_em <= '2019-01-30'"; $resultado_nota = mysqli_query($conn,$result_nota); $dado = array(); while ($row_nota = mysqli_fetch_object($resultado_nota)) { array_push($dado, $row_nota); } echo json_encode($dado); O resultado é esse. [ { nome: "Pedro", numero_nf: "200", data_em: "2019-01-03", valor: "200" }, { nome: "Paulo", numero_nf: "201", data_em: "2019-01-05", valor: "300" }, Gostaria de incluir embaixo do valor mais um campo com o nome janeiro ai fazer um loop do dia 01/02/2019 a 28/02/2019 e pegar todos o cliente do de fevereiro, e incluir em baixo do valor em cada cliente.
  4. Pedro Batista Lopes

    Criar um campo soma

    Estou com o problemas com uma query em mysql, fiz duas uma cliente outra usuário juntei as duas, Mais eu queria fazer mais um campo que contasse a quantidade de notas que tem para cada cliente. vou enviar a query. select DISTINCT cli.nome, nf.numero_nf, nf.data_em, nf.valor from cliente cli join nota_fiscal nf on cli.id = nf.id_cliente WHERE nf.data_em >= "2019-01-01" and nf.data_em <= "2019-01-30" Gostaria que não repetisse os usuários e contasse quantas vezes eles aparecem . segue anexo imagem como sai assim
  5. Pedro Batista Lopes

    Laço de repetição no banco de dados

    Quase isso mais é para o mês ficar do lado como a imagem abaixo. depois vem fevereiro , abril.... and dat_hor_emissao between EXTEND(MDY(01,01,2019)) and EXTEND(MDY(01,30,2019)) pegar essa parte da ficar repetindo fevereiro $buscaNotas = $db->prepare("select a.empresa, a.cliente, b.nom_cliente, e.cod_uni_feder, d.cod_repres, b.cod_tip_cli, count(a.nota_fiscal) as QTD_MES from fat_nf_mestre a join clientes b on (b.cod_cliente = a.cliente) join fat_nf_item c on (c.empresa = a.empresa and c.trans_nota_fiscal = a.trans_nota_fiscal) join pedidos d on (d.cod_empresa = c.empresa and d.num_pedido = c.pedido) join cidades e on (e.cod_cidade = b.cod_cidade) where a.empresa = '10' and dat_hor_emissao between EXTEND(MDY(01,01,2019)) and EXTEND(MDY(01,30,2019)) // esse é o campo que gostaria que repetisse a data está ///01/01/2019 a 01/30/2019 gostaria de um jeito para mudar 01/02//2019 a 30/02/2019 assim por diante. and d.cod_tip_carteira = '1' --and b.nom_cliente = 'MAGAZINE LUIZA S/A' --and b.cod_cliente = '047960950075482' and c.seq_item_nf = '1' and a.sit_nota_fiscal <> 'C' group by 1,2,3,4,5,6"); $buscaNotas->execute(); $linha = $buscaNotas->fetchAll(PDO::FETCH_ASSOC);
  6. Pedro Batista Lopes

    Laço de repetição no banco de dados

    Olá pessoal alguém pode me ajudar estou com uma duvida, espero que vocês consigam me ajudar, Faço uma busca no banco de dados com mysql, depois faço um laço de repetição foreach e pego os dados do banco e jogo em uma tabel, gostaria de que um campo desse laço se repetisse varias vezes. No banco ele pegas as informações de nota fiscal, cliente,nome do cliente e a soma das notas por um período de tempo, gostaria que repetisse esse período, que no caso é um ano de janeiro a dezembro. segue o codigo. </form> <?php $dataIncio = $_POST['data-ini']; $dataFim = $_POST['data-fim']; $dataIncio = date('d/m/Y', strtotime($dataIncio)); $dataFim = date('d/m/Y', strtotime($dataFim)); $buscaNotas = $db->prepare("select a.empresa, a.cliente, b.nom_cliente, e.cod_uni_feder, d.cod_repres, b.cod_tip_cli, count(a.nota_fiscal) as QTD_MES from fat_nf_mestre a join clientes b on (b.cod_cliente = a.cliente) join fat_nf_item c on (c.empresa = a.empresa and c.trans_nota_fiscal = a.trans_nota_fiscal) join pedidos d on (d.cod_empresa = c.empresa and d.num_pedido = c.pedido) join cidades e on (e.cod_cidade = b.cod_cidade) where a.empresa = '10' and dat_hor_emissao between EXTEND(MDY(01,01,2019)) and EXTEND(MDY(01,30,2019)) // esse é o campo que gostaria que repetisse a data está ///01/01/2019 a 01/30/2019 gostaria de um jeito para mudar 01/02//2019 a 30/02/2019 assim por diante. and d.cod_tip_carteira = '1' --and b.nom_cliente = 'MAGAZINE LUIZA S/A' --and b.cod_cliente = '047960950075482' and c.seq_item_nf = '1' and a.sit_nota_fiscal <> 'C' group by 1,2,3,4,5,6"); $buscaNotas->execute(); $linha = $buscaNotas->fetchAll(PDO::FETCH_ASSOC); ?> <table border="1px solid black" class="table col-sm-12 table-striped table-hover"> <thead class="thead-dark "> <tr> <th>Empresa</th> <th>Cliente</th> <th>Nome do cliente</th> <th>Uni_Feder</th> <th>Codigo Representante</th> <th>Cod_tipo_cli</th> <th>janeiro</th>// aqui eu faria janeiro, feveiro, março, abril.....até dezembro <th>Fevereiro</th> </tr> </thead> <?php foreach ($linha as $listar) { ?> <tr> <td><?= $listar['empresa'];?></td> <td><?=$listar['cliente']; ?></td> <td><?=$listar['nom_cliente']; ?></td> <td><?=$listar['cod_uni_feder']; ?></td> <td><?=$listar['cod_repres']; ?></td> <td><?=$listar['cod_tip_cli']; ?></td> <td><?=$listar['qtd_mes']; ?></td> // aqui é a saida onde queria que saisse o restante dos dados. </tr> <?php } ?> </table> <?php
×

Informação importante

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