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>
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($handle, 1000, ",")) !== 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!";
}
}
?>