Ir para conteúdo

inhokinformatica

Members
  • Total de itens

    7
  • Registro em

  • Última visita

Posts postados por inhokinformatica


  1. Muito obrigado!

     

    Já consegui resolver aqui. Precisei dormir para achar a solução kkkk

     

    Vou deixar o código aqui. Vai que alguém precise usar algum dia.

     

    formulario.php

    <table border="1" width="30%" height="Auto" align="left">
    		<form action="atualizar_frequencia.php" method="post" enctype="multipart/form-data">
    		<tr>
    			<td colspan="2" align="center">Selecione o Mês para atualização</td>
    		</tr>
      
    		<tr>
    			<td align="center" bgcolor="#000000" width="20%"></td>
    			<td align="center" bgcolor="#4682B4" width="80%">
    					<select name="mes_escolhido">
    						<option value="fl_mes_01">Janeiro 2019</option>
    						<option value="fl_mes_02">Fevereiro 2019</option>
    						<option value="fl_mes_03">Março 2019</option>
    						<option value="fl_mes_04">Abril 2019</option>
    						<option value="fl_mes_05">Maio 2019</option>
    						<option value="fl_mes_06">Junho 2019</option>
    						<option value="fl_mes_07">Julho 2019</option>
    						<option value="fl_mes_08">Agosto 2019</option>
    						<option value="fl_mes_09">Setembro 2019</option>
    						<option value="fl_mes_10">Outubro 2019</option>
    						<option value="fl_mes_11">Novembro 2019</option>
    						<option value="fl_mes_12">Dezembro 2019</option>
    					</select>
    			</td>
    		</tr>
    			<tr>
    			<td align="center" bgcolor="#000000" width="20%">Selecione o Arquivo</td>
    			<td>
    				
    					<input type="file" name="arquivo" />
    					<input type="submit" value="Enviar"/>
    				
    			</td>
    		</tr>
    		</form>
              </table> 

    atualizar_frequencia.php

    <?php 
    //error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
    
    session_start(); // inicia sessão
    include "../db.php"; // conecta no banco de dados **** PDO
    
    $file = $_FILES["arquivo"]; // Arquivo recebido
    $mes  = $_POST["mes_escolhido"]; // Mês escolhido
    $dir = "_frequencias/"; // Pasta para upload
    
    echo "----- RESUMO -----<br>";
    echo "Arquivo: ".$file["name"]."<br>";
    echo "Mês Selecionado: ".$mes."<br>";
    echo "Pasta: ".$dir."<br><br>";
    
    // Movendo o arquivo da pasta temporaria para pasta de destino 
    if (move_uploaded_file($file["tmp_name"], "$dir/".$file["name"])) { 
        echo "1º Etapa: Ok - Upload Completo!<br>"; 
    } 
    else { 
        echo "1º Etapa: NOK - Upload não realizado."; 
    	exit;
    }  
    
    // Abre o Arquvio no Modo r (para leitura)
    $arquivo = fopen ($dir."/".$file["name"], 'r');
    	
    // Lê o conteúdo do arquivo 
    
    $i = 1;
    
    while(!feof($arquivo))
    {
    	$i++;
    //Mostra uma linha do arquivo
    $linha = trim(fgets($arquivo, 1024));
    
    if($linha!=NULL){
    	
    	if($i<="10")
    	{
    		//echo $i." - ".substr($linha, 13 , 9)."<br />";
    		$mes_arquivo_sql = substr($linha, 13 , 9);
    	}
    
    }}
    echo "Mês do Arquivo ".$mes_arquivo_sql."<br>";
    echo "Arquivo Recebido: ".$dir.$file["name"]."<br>";
    
    if($mes!=$mes_arquivo_sql){
    	echo "<br><br><font color='red'><b>O arquivo enviado não corresponde ao mês selecionado</b> Verifique e tente novamente!</font><br><br>";
    	echo "<a href='calculos_atrasos.php'>[VOLTAR]</a>";
    	exit;
    }else{
    	echo "<font color='green'><b>Arquivo correspondente</b></font><br>";
    }
    
    //Apaga tabela para receber dados novos
    $deleterecords = "TRUNCATE TABLE ".$mes;
    $deletar = $PDO->exec($deleterecords);
    
    //escreve na tabela
    $sql = file_get_contents($dir.$file["name"]);
    $qr = $PDO->exec($sql);
    
    
    	if($qr){
    			echo "2º Etapa: Ok - Salvo no Banco de Dados!!! <br><a href='calculos_atrasos.php'>[VOLTAR]</a>";
    	}else{
    			echo "2º Etapa: NOK - Erro ao salvar no Banco de Dados...";
    	}
    // Fecha arquivo aberto
    fclose($arquivo);
    
    ?>

     

    Resolvido!


  2. Bom dia.

     

    Atualmente estou com dificuldades para executar um arquivo com instruções SQL diretamente no php. Tenho um planilha VBA que exporta as intruções e salva em um arquivo "xxxx.sql". São várias linhas, um exemplo a baixo.

    INSERT INTO `fl_mes_05`(`id`, `matricula`, `dia`, `entrada_normal`, `saida_lanche`, `entrada_lanche`, `saida_normal`) VALUES ('1','913154','01/05/2019','00:00','00:00','00:00','00:00');
    INSERT INTO `fl_mes_05`(`id`, `matricula`, `dia`, `entrada_normal`, `saida_lanche`, `entrada_lanche`, `saida_normal`) VALUES ('2','913154','02/05/2019','06:56','00:00','00:00','13:14');
    INSERT INTO `fl_mes_05`(`id`, `matricula`, `dia`, `entrada_normal`, `saida_lanche`, `entrada_lanche`, `saida_normal`) VALUES ('3','913154','03/05/2019','07:12','11:15','11:35','13:11');

    Bem...

     

    Fiz o sistema para upload de arquivo

     

    formulario.php

    <form action="atualizar_frequencia.php" method="post" enctype="multipart/form-data">
    					<input type="file" name="arquivo" />
    					<input type="submit" value="Enviar"/>
    				</form>

    upload_sql.php

    <?php 
    error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
    
    session_start(); // inicia sessão
    include "../db.php"; // conecta no banco de dados **** PDO
    
    $file = $_FILES["arquivo"]; // Arquivo recebido
    
    $dir = "_frequencias/"; // Pasta para upload
    
    // Movendo o arquivo da pasta temporaria para pasta de destino 
    if (move_uploaded_file($file["tmp_name"], "$dir/".$file["name"])) { 
        echo "Upload Completo!<br>"; 
    } 
    else { 
        echo "Erro. Upload não realizado.";
      	exit;
    }  
    
    // Abre o Arquvio no Modo r (para leitura)
    $arquivo = fopen ($dir."/".$file["name"], 'r');
    	
    // Lê o conteúdo do arquivo 
    while(!feof($arquivo))
    {
    //Mostra uma linha do arquivo
    $linha = trim(fgets($arquivo, 1024));
    
    if($linha!=NULL){
    
    				echo $linha.'<br />';
    
    }}
    echo "<br><br>".$dir.$file["name"]."<br><br>"; //mostras as linhas do arquivo sql
    
    $sql = file_get_contents($dir.$file["name"]);
    $qr = $PDO->exec($sql);
    
    if($qr){
    	echo "Sucesso! Dados salvos no BD";
      exit;
    }else{
    	echo "ERRO...";
      exit;
    }
    // Fecha arquivo aberto
    fclose($arquivo);
    
    ?>

    Até aí, tudo funcionou, consigo fazer o upload e ler o arquivo normalmente. Recentemente, consegui executar esse SQL no php para salvar os dados no banco mysql.

     

    O que preciso agora é atualizar os dados no banco de dados. O sistema apresenta erro ao enviar o arquivo novamente

     

×

Informação importante

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