Ir ao conteúdo
  • Cadastre-se

jennyBarbosa

Membro Júnior
  • Posts

    19
  • Cadastrado em

  • Última visita

Tudo que jennyBarbosa postou

  1. Então, pessoal, preciso de ajuda em um select com três tabelas, com o intuito de fazer com que o select mostre a soma de horas trabalhadas da tblregistro de acordo com a data que estiver na tblponto e o id do funcionário. Exemplo: Comparo as datas das duas tabelas (tblponto X tblregistro) e verifico se o id é igual ao que deseja. Ao fazer esse select obtenho um valor muito diferente ao que era esperado. Se eu retirar a linha que faz a soma (SEC_TO_TIME...), vejo que os dados estão sendo triplicadas e por isso no somatório é dado um valor diferente. SELECT tblponto.DATA_PONTO, tblponto.HORA_PONTO, SEC_TO_TIME(SUM(TIME_TO_SEC(tblregistro.HORA_TRABALHADA))) AS TOTAL_HORAS, tblregistro.HORA_TRABALHADA, tblponto.ID_FUNCIONARIO, tblregistro.ID_FUNCIONARIO, funcionario.ID, funcionario.NOME FROM tblponto, tblregistro, funcionario WHERE tblregistro.DATA_PONTO = tblponto.DATA_PONTO AND tblregistro.DATA_PONTO = '2019-08-01' AND tblponto.ID_FUNCIONARIO = tblregistro.ID_FUNCIONARIO AND funcionario.ID = 1; Analisando, ele está 'atribuindo' o valor de cada hora_trabalhada a um valor de hora ponto e repetindo o registro em cada um deles. Quando o que precisaria era verificar se as datas são iguais e efetuar o somatório. Se alguém, conseguir me ajudar ou dá qualquer dica, já ficarei muito feliz e agradecida!! Bom dia!
  2. @DiF Consegui fazer, era realmente o que você tinha dito, fiz umas mudanças e funcionou. Obrigadaaaa!
  3. Pessoal, tenho uma tabela que exibe a entrada e saída dos professores, porém elas estão em duas colunas, como mostra a figura abaixo: Como fazer um select nessa tabela, para que os dados sejam exibidos da seguinte forma: DATA -- ENTRADA1 -- SAÍDA1 -- ENTRADA2 -- SAÍDA2 -- HORAS TRABALHADAS 2019-08-01 08:00:00 -- 12:00:00 -- 13:31:00 -- 18:19:00 -- 08:48:00 2019-08-02 07:59:00 -- 12:00:00 -- 13:30:00 -- 18:14:00 -- 08:45:00 Calculando a diferença entre as entradas e saída e somando para informar a hora trabalhada: HoraTrabalhada = [(Saída1 - Entrada1) + (Saída2 - Entrada2)] e agrupando as datas iguais. Se alguém puder me ajudar ficarei muito feliz e agradecida!!!
  4. O que preciso é que ele busque os meses da tabela, e exiba por meios de links todos os dias desse mês que tenha algum registro, ao clicar no dia, mostre as informações de tudo que tiver registrado nesse dia. É bem complexo, para mim, que estou iniciando.
  5. Oi gente!! Vim pedir a ajuda de vocês... Tenho uma tela que 'pega' do banco as datas cadastradas e a fazem de link, nesse link, quero que ela faça a busca de todas as datas que tenham o mês correspondente. Exemplo: Agosto, quando o usuário clicar no mês, exibir todas as datas desse mês, ex.: 15/08/2019, 27/08/2019... Consegui fazer a parte do link, mas não consigo buscar a data de cada mês. Isso eu já tenho... Ele ler os meses que tenho no banco e forma um link com ele. O que preciso que seja exibido, e nesses links das datas trazer as pessoas aniversariantes dessa data. Esse é o script em SQL que faz a busca <?php $sMesCorrespondente = " SELECT DATA_ANIVERSARIO, CASE WHEN MONTH(DATA_ANIVERSARIO) = '01' THEN 'Janeiro' WHEN MONTH(DATA_ANIVERSARIO) = '02' THEN 'Fevereiro' WHEN MONTH(DATA_ANIVERSARIO) = '03' THEN 'Março' WHEN MONTH(DATA_ANIVERSARIO) = '04' THEN 'Abril' WHEN MONTH(DATA_ANIVERSARIO) = '05' THEN 'Maio' WHEN MONTH(DATA_ANIVERSARIO) = '06' THEN 'Junho' WHEN MONTH(DATA_ANIVERSARIO) = '07' THEN 'Julho' WHEN MONTH(DATA_ANIVERSARIO) = '08' THEN 'Agosto' WHEN MONTH(DATA_ANIVERSARIO) = '09' THEN 'Setembro' WHEN MONTH(DATA_ANIVERSARIO) = '10' THEN 'Outubro' WHEN MONTH(DATA_ANIVERSARIO) = '11' THEN 'Novembro' WHEN MONTH(DATA_ANIVERSARIO) = '12' THEN 'Dezembro' ELSE 'Mês Inválido' END AS MES FROM ANIVERSARIANTES GROUP BY MES "; $sMes = mysqli_query($conn, $sMesCorrespondente); ?> Criar o link com os meses <ul class="list-group"> <li class="list-group-item"> <?php while ($aMesAniversario = mysqli_fetch_array($sMes)) { $aProfessor = mysqli_fetch_array($sListProfessor); echo '<a href="pagina.php?colaborador='.$aProfessor['NOME'].'&mes='.$aMesAniversario['MES'].'">'.$aMesAniversario['MES'].'</a><br>'; } ?> </li> </ul>
  6. Pessoas, sou nova em PHP e queria que vocês me ajudassem com um exemplo. Tenho um array com um token e cada token possui um limite diário de 25 consultas. Então, eu criei 10 tokens para que as consultas sejam 250 consultas por dia. Porém, eu preciso verificar se cada token atingiu o limite de 25 e então partir para outra chave do array. Quando o limite de todos for batido, dizer para o usuário que ele atingiu o limite e que a nova consulta será feita no outro dia. Se alguém tiver como me ajudar com um exemplo. Ficarei muito feliz e grata! $token = [ 'a' => 'aaaaaaa' , 'b' => 'bbbbbbb' , 'c' => 'cccccc' , 'd' => 'dddddd' , 'e' => 'eeeeee' , 'f' => 'fffffff' ];
  7. Oi pessoal! Gostaria da ajuda de vocês, estou desenvolvendo um projeto para faculdade e tenho que importar as informações de umas colunas específicas e inserir essas informações no banco de dados via php. Consegui fazer com que ele faça a busca das colunas específicas e insira no banco, porém os dados estão vindo completamente diferente do que está na planilha real. Percebi que ele está fazendo uma conversão desses valores antes de inserir no banco, e ai que está o problema já tentei de várias formas, mudando o DATE do banco para VARCHAR e vice-versa, converti para texto, DATETIME e mesmo assim o erro continua. Se alguém tiver como ajudar, ficarei grata! <?php //Esse arquivo ler o excel enviado pelo index e insere no banco //import.php include "database.php"; include "./class.upload.php"; if (isset($_FILES["name"])) { $up = new Upload($_FILES["name"]); if ($up->uploaded) { $up->Process("./uploads/"); if ($up->processed) { /// leer el archivo excel require_once './PHPExcel/Classes/PHPExcel.php'; $arquivo = "uploads/" . $up->file_dst_name; $inputFileType = PHPExcel_IOFactory::identify($arquivo); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($arquivo); $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); for ($row = 2; $row <= $highestRow; $row++) { $x_data = $sheet->getCell("N" . $row)->getValue(); $x_hora_ponto = $sheet->getCell("Q" . $row)->getValue(); $x_hora_trabalhada = $sheet->getCell("R" . $row)->getValue(); $sql = "INSERT INTO funcionarios (DATA, HORA_PONTO, HORA_TRABALHADA) VALUES "; $sql .= " ('" . $x_data . "','" . $x_hora_ponto . "','" . $x_hora_trabalhada . "')"; $con->query($sql); } unlink($arquivo); } } } echo "<script> window.location = './index.php'; </script> "; <!--Esse aqui é o form do index que envia o arquivo para o import--> <form method="post" id="addproduct" action="import.php" enctype="multipart/form-data" role="form"> <div> <label class="col-lg-2 control-label">Arquivo*</label> <input type="file" name="name" id="name" placeholder="Arquivo (.xlsx)"> <br><br> <button type="submit" class="btn btn-primary">Importar Dados</button> </div> </form>
  8. Olá pessoal! Vim aqui pedir a ajuda de vocês em projeto que estou criando. Tenho um formulário que recebe os arquivos para importar para o mysql... <form name="upload" enctype="multipart/form-data" method="POST" action="processa.php" > <div id="tbl1"> <h3>Importar Excel Dados 1 </h3> <label>Arquivo: </label> <input type="file" name="arquivo[]" id="file" accept=".xls,.xlsx"><br><br> </div> <div id="tbl2"> <h3>Importar Excel Dados 2</h3> <label>Arquivo: </label> <input type="file" name="arquivo[]" id="file" accept=".xls,.xlsx"><br><br> </div> <div> <h3>Selecione o participante:</h3> <?php $sQuery = mysqli_query($sConn, " SELECT ID, NOME FROM PARTICIPANTE ORDER BY NOME "); ?> <label for="">Escolha: </label> <select id="func_nome_incluir" name="func_nome_incluir"> <option >Selecione...</option> <?php while ($aUser = mysqli_fetch_array($sQuery)) { ?> <option value="<?php echo $aUser['ID'] ?>"><?php echo $aUser['NOME'] ?></option> <?php } ?> </select> </div> <div> <br><br> <button type="submit" class="btn btn-success btn-lg">Enviar</button> <input type="reset" class="btn btn-danger btn-lg" value="Limpar"> </div> </form> Esse formulário envia para o arquivo processa.php, no qual, o que era pra ocorrer, colocar os arquivos recebidos no diretório específico, fazer a leitura dos dois arquivos recebidos e inserir cada um na sua base, juntamente com o id do participante. <?php require_once 'PHPExcel/Classes/PHPExcel.php'; $diretorio = "uploads/"; $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; for ($i = 0; $i < count($arquivo['name']); $i++) { // Move o arquivo para o caminho definido $destino = $diretorio."/".$arquivo['name'][$i]; move_uploaded_file($arquivo['tmp_name'][$i], $destino); $inputFileType = PHPExcel_IOFactory::identify($arquivo); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($arquivo); $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); //INSERÇÃO NA TABELA DADOS1 //As letras A, B e C no getCell é referente aos campos da planilha no excel que quero pegar for ($row = 2; $row <= $highestRow; $row++) { $x_data = $sheet->getCell("A".$row)->getValue(); $x_hora = $sheet->getCell("B".$row)->getValue(); $x_id_participante = $sheet->getCell("C".$row)->getValue(); $tbl1 = "INSERT INTO dados1(data, hora, id_participante) value "; $tbl1 .= " (\"$x_data\",\"$x_hora\",\"$x_id_participante\",NOW())"; $con->query($tbl1); } //unlink($archivo); //INSERÇÃO NA TABELA DADOS2 //As letras N e Q no getCell é referente aos campos da planilha no excel que quero pegar for ($row = 2; $row <= $highestRow; $row++) { $x_data = $sheet->getCell("N" . $row)->getValue(); $x_hora = $sheet->getCell("Q" . $row)->getValue(); $x_id_participante = $sheet->getCell("V" . $row)->getValue(); $tbl2 = "INSERT INTO dados2(data, hora_apontada, id_participante) value "; $tbl2 .= " (\"$x_data\",\"$x_hora\",\"$x_id_participante\", NOW())"; $con->query($sql); } // Mensagem de sucesso echo "O arquivo <b>" . $arquivo . "</b> foi enviado com sucesso. <br />"; } ?> E o que acontece é, os arquivos não são movidos para pasta e é dito que foi gravado no banco, porém não acontece isso! E quando dou f12 na tela, e vejo onde está o erro, diz que os arquivos não puderam serem lidos, e só ler somente um, não ler os dois! Como se estivesse passando apenas um arquivo e não os dois... Se alguém puder me ajudar a resolver isso, ficarei muito grata!!
  9. Estou desenvolvendo uma extensão para o Chrome, no qual ele irá ler os dados em tela e fazer o download para um arquivo .xls. Já consegui fazer para baixar o .xls através da extensão, porém o arquivo vem vazio. Quem puder me dá uma luz, ficarei grata! //popup.js chrome.runtime.onMessage.addListener( function totallyAwesome() { oTabela = document.createElement('table'); aData = []; console.log(aData); //$(function(){ $('input[name^="container:listaPontosContainer"]').each(function (index, el) { var oTr = $(el).closest('tr'); var oTable = $(oTr).closest('table'); var oTrData = ''; var bSairForeach = false; $(oTable).find('tr').each(function (index2, el) { if ($(el).hasClass('folhaponto-header') && !bSairForeach) { oTrData = el; } if ($(oTr).index() == $(el).index()) { bSairForeach = true; } }); var sPontoHora = $(el).val(); var sPontoDia = $('td > span', oTrData).get(1).innerHTML; oTrTabela = document.createElement('tr'); oTdTabela1 = document.createElement('td'); oTdTabela1.innerHTML = sPontoDia; oTdTabela2 = document.createElement('td'); oTdTabela2.innerHTML = sPontoHora; oTrTabela.appendChild(oTdTabela1); oTrTabela.appendChild(oTdTabela2); oTabela.appendChild(oTrTabela); aData.push([{v: sPontoDia, t: 's'}, {v: sPontoHora, t: 's'}]); }); $('#minha-tabela-teste').detach(); oTabela.id = 'minha-tabela-teste'; document.body.appendChild(oTabela); var oTableXlsx2 = $('#minha-tabela-teste').tableExport({ formats: ['xlsx'], exportButtons: false }); console.log(aData); oTableXlsx2.export2file(aData, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'relatorio2', ' xlsx'); //}); }); /*function clickHandler(e) { setTimeout(awesomeTask, 1000); }*/ document.addEventListener('DOMContentLoaded', function () { var botao = document.getElementById('botao'); botao.addEventListener('click', function () { totallyAwesome(); }); }); //manifest.json { "manifest_version": 2, "name": "Teste", "version": "1.7.1", "description": "Importar para .xlsx teste.", "icons": { "128": "icone.png" }, "background": { "scripts": ["background.js"], "persistent": false }, "permissions": [ "activeTab", "tabs", "http://*/*", "https://*/*" ], "browser_action": { "default_popup": "popup.html" }, "devtools_page": "popup.html", "content_scripts": [ { "matches": [ "http://*/*", "https://*/*"], "js": [ ] } ] } <!--popup.html--> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="popup.js" defer></script> <style> .fundo { width: 300px; height: 50px; } .corpo { margin: 5px; } #botao{ margin-left: 80px; } </style> </head> <body> <div> <label>Permitir que a extensão faça o download dos dados desta página?</label> <button id="botao">Sim</button> </div> </body> </html>
  10. Obrigada @DiF funcionou certinho!!
  11. <label>Data Inicio</label> <input type="date" name="data_inicio-incluir" id="data_inicio-incluir"> <label>Data Fim</label> <input type="date" name="data_fim-incluir" id="data_fim-incluir"> Boa tarde pessoal, estou iniciando em JS e estou perdida tentando fazer a validação de datas. Estou fazendo um sistema de aluguel de livros, então, como consigo verificar se a data_fim não é menor que a data inicio e que a data_fim seja de 1 até 7 dias depois da data_inicio, não podendo ultrapassar. Se alguém tiver como me ajudar, ficarei muito grata.
  12. @GabrielSennaMs Aaaaaaah! Era isso mesmoo! Muito obrigada mesmo pela sua ajudaa! adicionado 1 minuto depois @ArThDsL Obrigada pela sua ajuda também!!
  13. Boaa @GabrielSennaMs O código não mostra erros, os valores são passados, porém é exibido para o usuário que nada foi encontrado adicionado 5 minutos depois @GabrielSennaMs E quando eu passo apenas o parâmetro do nome ele encontra o livro, porém quando uso os outros inputs diz que o livro não foi encontrado.
  14. @GabrielSennaMs Como é possível resolver isso?
  15. @ArThDsL O código retorna um erro, porém os valores passam: adicionado 1 minuto depois @GabrielSennaMs Obrigada pela dica!! Mesmo trocando o OR pelo AND o código mostra o seguinte erro: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
  16. Boa tarde, @ArThDsL Já agradeço muito pela ajuda, porém quando clico no botão de pesquisar ele exibi os 10 primeiros registros e não o livro que foi buscado. Ele não ta fazendo o filtro do que está sendo digitado, apenas exibindo o banco, coloquei o LIMIT 10, daí então ele mostra os 10 primeiros em ordem pelo nome.
  17. @ArThDsL <form method="POST" id="form-pesquisa" action="busca.php"> Livro: <input type="text" name="nome" id="nome" placeholder="Fulano de Tal"> Autor: <input type="text" name="autor" id="autor" placeholder="Fulano de Tal"> Edicao: <input type="text" name="edicao" id="edicao" placeholder="Fulano de Tal"> <input type="submit" name="enviar" value="Pesquisar"> </form> <ul class="resultado"></ul> $nome = $_POST['nome']; $autor = $_POST['autor']; $edicao = $_POST['edicao']; //Pesquisar no banco de dados nome do curso referente a palavra digitada pelo usuário $livros = "SELECT * FROM livro WHERE nome OR autor OR edicao ORDER BY nome ASC"; $resultado_livros = mysqli_query($conn, $livros); if (mysqli_num_rows($resultado_livros) <= 0) { echo "Nenhum livro encontrado..."; } else { while ($rows = mysqli_fetch_assoc($resultado_livros)) { echo "<li>" . $rows['codigo'] . "</li>"; echo "<li>" . $rows['nome'] . "</li>"; echo "<li>" . $rows['autor'] . "</li>"; echo "<li>" . $rows['edicao'] . "</li>"; } } Quando clico em 'Pesquisar' aparece todos os dados do banco. Pode me ajudar a resolver? E uma outra dúvida, como faz para que os dados pesquisados sejam exibidos na mesma tela. Como se ele fizesse a busca internamente e mostrasse ao usuário o que ele pesquisou sem ele sair da tela em que está o form. Desde já agradeço a ajuda!!
  18. Pessoal, sou nova aqui no Fórum e estou começando a estudar PHP. Estou com dúvidas quanto a pesquisa com vários campos, consegui fazer para um campo só, porém quando tento para vários campos não funciona. Fiz algumas pesquisas e só consegui achar buscas com 'selects e options' e eu queria que ele pegasse o que foi digitado no input e fizesse a busca, mas o usuário não precisaria informar todos os campos (se não quisesse). Se alguém tiver como me ajudar, ficarei grata!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...