Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/02/2019, 16:45
madison_sg
 
Fecha de Ingreso: noviembre-2015
Mensajes: 77
Antigüedad: 8 años, 5 meses
Puntos: 2
importador de csv con php

Hola,

Tengo una base de datos (mysql) en donde existen dos tablas, una es tbl_registros y la otra es tbl_ciclo, en ambas bases debo importar un solo csv, es decir; con un botón de un form debo importar hacia las dos tablas, en tbl_registros deben entrar 19 columnas del csv y en tbl_ciclo deben entrar solo dos columnas. El problema es que cada vez que intento realizar la importación hacia las dos tablas no importa nada ni me manda errores, solamente se quedan en blanco las tablas de la base de datos. Esto lo estoy tratando de hacer con dos INSERT INTO, alguien me puede ayudar con una mejor solución?

Aquí el código de html:
Código HTML:
<form method="post" action="import.php" enctype="multipart/form-data">
    <div class='col-md-12'>
    <section>
    <table border="1" style="">
        <tr>
            <td><input type='file' name='selfile' size='20' style=""></td>
            <td><input type="submit" name="import" id="import" value="Importar" class="btn btn-primary" style="width: 70px; " /></td>
            <td><label for="" style="margin-left: 5px; ">Import .</label></td>
            
        </tr>
    </table>
    </section>
    </div>
    </form> 
Aquí el código de PHP
Código PHP:
<?php
 
include('conexion.php');
    if(isset(
$_POST['import']))
    {
        
//Aquí es donde seleccionamos nuestro csv
         
$fname $_FILES['selfile']['name'];
         echo 
'Cargando nombre del archivo: '.$fname.' <br>';
         
$chk_ext explode(".",$fname);
 
         if(
strtolower(end($chk_ext)) == "csv")
         {
             
//si es correcto, entonces damos permisos de lectura para subir
             
$filename $_FILES['selfile']['tmp_name'];
             
$handle fopen($filename"r");
 
             while ((
$data fgetcsv($handle1000",")) !== FALSE)
             {
               
//Insertamos los datos con los valores...
$sql "INSERT INTO tbl_registro (id_registro, bk_registro, apellido_paterno, apellido_materno, nombre, hospital, calle, numero_exterior, numero_interior, consultorio, colonia, CP, ciudad, estado, referencias, horario_1, horario_2, dia_entrega, telefono_fijo, telefono_movil, persona_autorizada) values('$data[0]','$data[1]','$data[4]', '$data[5]', '$data[6]', '$data[7]', '$data[8]', '$data[9]', '$data[10]', '$data[11]', '$data[12]', '$data[13]', '$data[14]', '$data[15]', '$data[16]', '$data[17]', '$data[18]', '$data[19]', '$data[20]')";
                
mysqli_query($con$sql);

$sql1 "INSERT INTO tbl_ciclos (id_ciclos, id_registro, ciclo, semana, reenvio) values('$data[0]','$data[1]','$data[2]','$data[3]')";
                
mysqli_query($con$sql1);
             }
             
//cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo"
             
fclose($handle);
             echo 
"Importación exitosa!";
             echo 
"</br>";
             echo 
'<a href="../vistas/consulta.php">Regresar</a>';
         }
         else
         {
            
//si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para             
//ver si esta separado por " , "
             
echo "Archivo invalido!";
         }
    }
 
?>
Gracias y saludos.
__________________
paco alonso