Ir ao conteúdo
  • Cadastre-se

jalb17

Membros Juniores
  • Total de itens

    12
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. 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>
  2. 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!!
  3. 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>
  4. Obrigada @DiF funcionou certinho!!
  5. <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.
  6. @GabrielSennaMs Aaaaaaah! Era isso mesmoo! Muito obrigada mesmo pela sua ajudaa! adicionado 1 minuto depois @ArThDsL Obrigada pela sua ajuda também!!
  7. 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.
  8. @GabrielSennaMs Como é possível resolver isso?
  9. @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
  10. 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.
  11. @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!!
  12. 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 publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!