Ir para conteúdo
Fórum Script Brasil

flaviokowalske

Membros
  • Total de itens

    10
  • Registro em

  • Última visita

Sobre flaviokowalske

  • Data de Nascimento 02/26/1974

Perfil

  • Gender
    Male
  • Location
    Barbacena - MG

flaviokowalske's Achievements

0

Reputação

  1. Deu certo, porém como eu monto o array ordenado da forma que você sugeriu, incluindo Tipo, Data, Horário e Tamanho?
  2. Pessoal tenho um array ($leituras) vindo de um select no banco de dados com a seguinte estrutura: array (size=16) 0 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '03/11/2020' (length=10) 'primeira_leitura' => string '113504' (length=6) 'segunda_leitura' => string '113661' (length=6) 'abate_total' => string '159' (length=3) 'consumo_dia' => string '157' (length=3) 'consumo_noite' => string '109' (length=3) 'consumo_total' => string '266' (length=3) 1 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '04/11/2020' (length=10) 'primeira_leitura' => string '113770' (length=6) 'segunda_leitura' => string '113911' (length=6) 'abate_total' => string '185' (length=3) 'consumo_dia' => string '141' (length=3) 'consumo_noite' => string '149' (length=3) 'consumo_total' => string '290' (length=3) 2 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '05/11/2020' (length=10) 'primeira_leitura' => string '114060' (length=6) 'segunda_leitura' => string '114208' (length=6) 'abate_total' => string '131' (length=3) 'consumo_dia' => string '148' (length=3) 'consumo_noite' => string '99' (length=2) 'consumo_total' => string '247' (length=3) 3 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '06/11/2020' (length=10) 'primeira_leitura' => string '114307' (length=6) 'segunda_leitura' => string '114444' (length=6) 'abate_total' => string '213' (length=3) 'consumo_dia' => string '137' (length=3) 'consumo_noite' => string '231' (length=3) 'consumo_total' => string '368' (length=3) 4 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '09/11/2020' (length=10) 'primeira_leitura' => string '114675' (length=6) 'segunda_leitura' => string '114813' (length=6) 'abate_total' => string '122' (length=3) 'consumo_dia' => string '138' (length=3) 'consumo_noite' => string '118' (length=3) 'consumo_total' => string '256' (length=3) 5 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '10/11/2020' (length=10) 'primeira_leitura' => string '114931' (length=6) 'segunda_leitura' => string '115144' (length=6) 'abate_total' => string '227' (length=3) 'consumo_dia' => string '213' (length=3) 'consumo_noite' => string '166' (length=3) 'consumo_total' => string '379' (length=3) 6 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '11/11/2020' (length=10) 'primeira_leitura' => string '115310' (length=6) 'segunda_leitura' => string '115459' (length=6) 'abate_total' => string '138' (length=3) 'consumo_dia' => string '149' (length=3) 'consumo_noite' => string '164' (length=3) 'consumo_total' => string '313' (length=3) 7 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '12/11/2020' (length=10) 'primeira_leitura' => string '115623' (length=6) 'segunda_leitura' => string '115722' (length=6) 'abate_total' => string '109' (length=3) 'consumo_dia' => string '99' (length=2) 'consumo_noite' => string '213' (length=3) 'consumo_total' => string '312' (length=3) 8 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '13/11/2020' (length=10) 'primeira_leitura' => string '115935' (length=6) 'segunda_leitura' => string '116147' (length=6) 'abate_total' => string '215' (length=3) 'consumo_dia' => string '212' (length=3) 'consumo_noite' => string '350' (length=3) 'consumo_total' => string '562' (length=3) 9 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '16/11/2020' (length=10) 'primeira_leitura' => string '116497' (length=6) 'segunda_leitura' => string '116638' (length=6) 'abate_total' => string '246' (length=3) 'consumo_dia' => string '141' (length=3) 'consumo_noite' => string '148' (length=3) 'consumo_total' => string '289' (length=3) 10 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '17/11/2020' (length=10) 'primeira_leitura' => string '116786' (length=6) 'segunda_leitura' => string '116905' (length=6) 'abate_total' => string '140' (length=3) 'consumo_dia' => string '119' (length=3) 'consumo_noite' => string '135' (length=3) 'consumo_total' => string '254' (length=3) 11 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '18/11/2020' (length=10) 'primeira_leitura' => string '117040' (length=6) 'segunda_leitura' => string '117176' (length=6) 'abate_total' => string '165' (length=3) 'consumo_dia' => string '136' (length=3) 'consumo_noite' => string '151' (length=3) 'consumo_total' => string '287' (length=3) 12 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '19/11/2020' (length=10) 'primeira_leitura' => string '117327' (length=6) 'segunda_leitura' => string '117459' (length=6) 'abate_total' => string '93' (length=2) 'consumo_dia' => string '132' (length=3) 'consumo_noite' => string '184' (length=3) 'consumo_total' => string '316' (length=3) 13 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '20/11/2020' (length=10) 'primeira_leitura' => string '117643' (length=6) 'segunda_leitura' => string '117800' (length=6) 'abate_total' => string '234' (length=3) 'consumo_dia' => string '157' (length=3) 'consumo_noite' => string '313' (length=3) 'consumo_total' => string '470' (length=3) 14 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '23/11/2020' (length=10) 'primeira_leitura' => string '118113' (length=6) 'segunda_leitura' => string '118280' (length=6) 'abate_total' => string '267' (length=3) 'consumo_dia' => string '167' (length=3) 'consumo_noite' => string '243' (length=3) 'consumo_total' => string '410' (length=3) 15 => array (size=8) 'filial' => string '100' (length=3) 'data_leitura' => string '24/11/2020' (length=10) 'primeira_leitura' => string '118523' (length=6) 'segunda_leitura' => string '118587' (length=6) 'abate_total' => string '162' (length=3) 'consumo_dia' => string '64' (length=2) 'consumo_noite' => null 'consumo_total' => null Preciso gerar uma string apenas com os valores da chave consumo_total para ser usada para gerar um gráfico. Essa string precisa ter a seguinte estrutura: [0, 0, 266, 290, 247, 368, 0, 0, 256, 379, 313, 312, 562, 0, 0, 289, 254, 287, 316, 470, 0, 0, 410, 0] Como faço isso em PHP? Podem dar uma ajuda?
  3. Com fazer uma quebra de linha ta THEAD da tabela abaixo usando Bootstrap? <table class="table table-hover table-bordered p-0 m-0 table-sm"> <thead class="table-warning"> <tr> <th scope="col" class="text-center"><strong><small>Consumo dia (L)</small></strong></th> <th scope="col" class="text-center"><strong><small>Consumo noite (L)</small></strong></th> <th scope="col" class="text-center"><strong><small>Consumo médio (L)</small></strong></th> <th scope="col" class="text-center"><strong><small>Consumo total (L)</small></strong></th> </tr> </thead> <tbody> <tr> <td class="text-center align-bottom"><small><em>1000</em></small></td> <td class="text-center align-bottom"><small><em>2000</em></small></td> <td class="text-center align-bottom"><small><em>1500</em></small></td> <td class="text-center align-bottom"><small><em>3000</em></small></td> </tr> </tbody> </table>
  4. @Denis Courcy efetuei da forma que você indicou mas o resultado veio zerado. Consegui fazer de outra forma, cheguei a quase 80% da expectativa em termo de solução. Tenho os seguintes registros na tabela: Quando executo a query abaixo: SELECT DATE(horario) AS data, MIN(leitura) AS primeira_leitura, MIN(TIME(horario)) AS primeiro_horario, MAX(leitura) AS segunda_leitura, MAX(TIME(horario)) AS segundo_horario, MAX(leitura) - MIN(leitura) AS consumo_dia FROM leituras GROUP BY DATE(horario) ORDER BY horario DESC Obtenho o seguinte resultado: O resultado é simples, busca de campos específicos e um simples cálculo, segunda_leitura - primeira_leitura = consumo-dia. A dificuldade agora é: saber qual o consumo_noite que será obtido pelo cálculo da primeira-leitura (dia seguinte) - segunda_leitura (dia anterior). Não consegui uma forma de buscar valores de campos específicos em dias diferentes.
  5. Pessoal tenho uma tabela com a seguinte estrutura: DROP TABLE IF EXISTS `leituras`; CREATE TABLE IF NOT EXISTS `leituras` ( `id` int(11) NOT NULL AUTO_INCREMENT, `horario` datetime DEFAULT CURRENT_TIMESTAMP, `leitura` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; Nessa tabela são inseridos valores lidos em um medidor de consumo de água. São 4 leituras por dia. Preciso fazer o cálculo do consumo diário, na matemática basta subtrair a primeira leitura da última que terei quantos litros foram gastos no dia, mas como implemento isso no MYSQL?
  6. Pessoal eu faço a leitura de um determinado diretório e imprimo em tela. <?php error_reporting(E_ALL); $dir = new DirectoryIterator("C:\inetpub\wwwroot\dashboard\bkp"); $i = 1; foreach($dir as $file) { if (!$file->isDot()) { if ($file->isFile()) { $fileNome = $file->getFilename(); $fileTipo = pathinfo($file, PATHINFO_EXTENSION); $aux = $file->getMTime(); $fileData = gmdate("d/m/Y", $aux); $fileHora = gmdate("H:i", $aux); $fileSize = number_format($file->getSize(), 0, ',', '.'); echo "<tr>"; echo "<td class='text-center align-bottom'>" . $i . "</td>"; echo "<td class='text-center align-bottom'>" . $fileNome . "</td>"; echo "<td class='text-center align-bottom'>" . $fileTipo . "</td>"; echo "<td class='text-center align-bottom'>" . $fileData . "</td>"; echo "<td class='text-center align-bottom'>" . $fileHora . "</td>"; echo "<td class='text-center align-bottom'>" . $fileSize . " bytes</td>"; echo "<td class='text-center align-bottom'><i class='fa fa-arrow-up' aria-hidden='true'></i></td>"; echo "</tr>"; $i++; } } } ?> Até ai tudo bem. Porém eu preciso ordenar o resultado por uma ordem específica, no caso pela coluna Data e para isso a solução que imaginei foi a de criar um array a partir do resultado da leitura do diretório e fazer a ordenação usando a função usort do PHP. Com que eu faço a criação do array a partir da leitura do dados?
  7. @Leonardo Persan o meu plano B é exatamente essa sugestão sua, caso eu não consiga diretamente no banco. Vou testar o seu código e ver até onde consigo evoluir e retorno.
  8. Estou finalizando um sistema aqui e estou com dificuldades para criar um Trigger ou até mesmo uma Stored Procedure, não sei qual a forma mais correta ou indicada nesse caso. Tenho uma tabela chamada <vendas> que armazena os dados de uma venda. CREATE TABLE IF NOT EXISTS `gfinan`.`vendas` ( `id_venda` INT NOT NULL AUTO_INCREMENT, `cpf` CHAR(11) NOT NULL, `placa` CHAR(7) NOT NULL, `id_pagamento` INT NOT NULL, `valor` DECIMAL(10,2) NOT NULL, `parcelas` INT NOT NULL, `data` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `cnpj` CHAR(14) NOT NULL, `id_usuario` INT NOT NULL, `status` CHAR(1) NOT NULL DEFAULT 'A', PRIMARY KEY (`id_venda`), INDEX `fk_vendas_veiculos_idx` (`placa` ASC), INDEX `fk_vendas_usuarios_idx` (`id_usuario` ASC), INDEX `fk_vendas_clientes_idx` (`cpf` ASC), INDEX `fk_vendas_empresas_idx` (`cnpj` ASC), INDEX `fk_vendas_pagamentos_idx` (`id_pagamento` ASC), ENGINE = InnoDB O campo <id_pagamento> identifica a forma de pagamento em uma venda, sendo a vista ou através de notas promissórias. Quando for informado por exemplo o valor total de R$30.000,00 pagos em 12 notas promissórias, ao gravar os dados na tabela <vendas>, preciso que o banco insira na tabela <promissorias> 12 registros contendo, as datas de pagamentos, o numero da nota promissória e o valor de cada uma delas com base nos dados gravados na tabela anterior. A estrutura da tabela <promissorias> é essa: CREATE TABLE IF NOT EXISTS `picinin`.`promissorias` ( `id_promissoria` INT NOT NULL AUTO_INCREMENT, `vencimento` DATETIME NOT NULL, `numeracao` INT NOT NULL, `valor` DECIMAL(10,2) NOT NULL, `emissao` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `id_venda` INT NOT NULL, `status` CHAR(1) NOT NULL DEFAULT 'E', PRIMARY KEY (`id_promissoria`), INDEX `fk_promissorias_vendas1_idx` (`id_venda` ASC), ENGINE = InnoDB Preciso também que esses dados seja excluídos caso a venda seja cancelada. Nunca precisei fazer algo assim e estou com muita dificuldade, podem me orientar?
×
×
  • Criar Novo...