<?php
$ciudad = $_POST['nombre_cdd'];
?>
<html><head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>:: Importar de Excel a la Base de Datos ::</title>
</head>
<div>
<strong><center>Ciudad seleccionada <?php echo "$ciudad[0]"; ?></center></strong><br>
Antes de actualizar primero debe descargar la planilla estandar desde
<a href="descarga/ruta_senales.xlsx">AQUÍ</a>
</div>
<body>
<!-– FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL -–>
<p><br>
Selecciona el archivo a importar:
<form name="importa" method="post" action="<?php $PHP_SELF ?>" enctype="multipart/form-data" >
<input type="file" name="excel" />
<input type="submit" name="enviar" value="Importar" />
<input type="hidden" value="upload" name="action" />
</form>
<!–- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload -–>
<?php
if ($action == "upload"){
//cargamos el archivo al servidor con el mismo nombre
//solo le agregue el sufijo temp_
$archivo = $_FILES['excel']['name'];
$tipo = $_FILES['excel']['type'];
$destino = "temp_".$archivo;
if (copy($_FILES['excel']['tmp_name'],$destino)){ echo "Archivo Cargado Con Éxito";
}else{
echo "Error Al Cargar el Archivo";
}
////////////////////////////////////////////////////////
/** Clases necesarias */
require_once("Classes/PHPExcel.php");
require_once("Classes/PHPExcel/Reader/Excel2007.php");
// Cargando la hoja de cálculo
$objReader = new PHPExcel_Reader_Excel2007();
$objPHPExcel = $objReader->load($destino);
$objFecha = new PHPExcel_Shared_Date();
// Asignar hoja de excel activa
$objPHPExcel->setActiveSheetIndex(0);
//contamos la cantidad de celdas con datos
$Contar = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();
//se almacena el nombre de la ciudad seleccionada para posterior insercion en la tabla canal
$city = "SELECT id_ciudad FROM ciudad WHERE nombre_ciudad = '$ciudad[0]'";
//conectamos con la base de datos
//varaible del id_canal para comparacion
$comparar = "Select nombre_canal, ciudad_id_ciudad FROM ciudad ORDER BY id_ciudad ASC";
// Llenamos el arreglo con los datos del archivo xlsx
for ($i=4;$i=$Contar;$i++){
$_DATOS_EXCEL[$i]['Numero'] = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
$_DATOS_EXCEL[$i]['Nombre'] = $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue();
:
:
$_DATOS_EXCEL[$i]['Frecuencia'] = $objPHPExcel->getActiveSheet()->getCell('BF'.$i)->getCalculatedValue();
$_DATOS_EXCEL[$i]['Mpeg Salida'] = $objPHPExcel->getActiveSheet()->getCell('BG'.$i)->getCalculatedValue();
}
}
//si por algo no cargo el archivo temp_
else{
echo "Necesitas primero importar el archivo";
}
$errores=0;
//recorremos el arreglo multidimensional
//para ir recuperando los datos obtenidos
//del excel e ir insertandolos en la BD
foreach($_DATOS_EXCEL as $campo){
if( ($nt['nombre_canal'] && $nt['ciudad_id_ciudad']) == ($campo["Nombre"] && $campo["Numero"]) ){
$sql = "UPDATE canal SET (".$campo["Numero"].",'".$campo["Nombre"]."','".$campo["Tipo Recepcion"]."','".$campo["Modelo Receptor"]."','".$campo["Ubicacion Rack"]."','".$campo["Parametro Satelital"]."',".$campo["UA Receptor"].",'".$campo["Posicion patch"]."','".$campo["Ubicacion fibra"]."','".$campo["Ubicacion Rack"]."','".$campo["Salida Señal"]."');";
}else{
//insercion en tabla canal
$sql = "INSERT INTO canal VALUES (NULL,".$city.",NULL,".$campo["Numero"].",'".$campo["Nombre"]."','".$campo["Tipo Recepcion"]."','".$campo["Modelo Receptor"]."','".$campo["Ubicacion Rack"]."','".$campo["Parametro Satelital"]."',".$campo["UA Receptor"].",'".$campo["Posicion patch"]."','".$campo["Ubicacion fibra"]."','".$campo["Ubicacion Rack"]."','".$campo["Salida Señal"]."');";
echo "<BR>** $sql";
}
//variable para almacenar el ultimo registro ID insertado
$fk_canal = "SELECT LAST_INSERT_ID();";
//insercion en tabla encoder
$sql2 = "INSERT INTO encoder VALUES (NULL,".$fk_canal.",'".$campo["Modelo"]."','".$campo["Ubicacion Rack"]."','".$campo["Entrada"]."','".$campo["Salida"]."',".$campo["Mpeg Out"].");";
echo "<BR>** $sql2";
//insercion en tabla splitter
$sql3 = "INSERT INTO splitter VALUES (NULL,".$fk_canal.",'".$campo["Numero"].",'".$campo["Slot"]."','".$campo["Puerto IN"]."','".$campo["Ubicacion Rack"]."');";
echo "<BR>** $sql3";
//insercion en tabla tmx
$sql4 = "INSERT INTO tmx VALUES (NULL,".$fk_canal.",'".$campo["Numero"].",".$campo["Nro splitter"].",'".$campo["Slot splitter"]."','".$campo["Puerto splitter"]."',".$campo["RIM"].",".$campo["ASI IN"].",".$campo["Mpeg in"].",".$campo["ROM"].",".$campo["ASI Out"].",".$campo["Mpeg Out"].",'".$campo["Ubicacion Rack"]."');";
echo "<BR>** $sql4";
//insercion en tabla agb
$sql5 = "INSERT INTO agb VALUES (NULL,".$fk_canal.",'".$campo["Ubicacion rack"]."',".$campo["Numero AGB"]."',".$campo["Nro splitter"].",'".$campo["Slot splitter"]."','".$campo["Puerto splitter"]."',".$campo["ASI Port"].",'".$campo["Multicast primario"]."',".$campo["UDP Primario"].",'".$campo["Source Primario"]."','".$campo["Multicast Backup"]."',".$campo["UDP Backup"].",'".$campo["Source Backup"]."');";
echo "<BR>** $sql5";
//insercion en tabla cap
$sql6 = "INSERT INTO cap VALUES (NULL,".$fk_canal.",'".$campo["Ubicacion rack"]."','".$campo["Numero CAP"]."','".$campo["TS"]."',".$campo["PID PMT"].",".$campo["PID Video"].",".$campo["PID Audio 1"].",".$campo["PID Audio 2"].",".$campo["PID Subtitulado(spa)"].",".$campo["PID Subtitulado(por)"].");";
echo "<BR>** $sql6";
//insercion en tabla sem_apex
$sql7 = "INSERT INTO sem_apex VALUES (NULL,".$fk_canal.",'".$campo["Ubicacion rack"]."','".$campo["IP admin"]."','".$campo["IP giga"]."','".$campo["QAM"]."',".$campo["Nro Canal"].",'".$campo["Frecuencia"]."',".$campo["Mpeg Salida"].");";
echo "<BR>** $sql7";
if (!$result){
$errores++;
}
//se limpa la variable $fk_canal para el nuevo registro
}
/////////////////////////////////////////////////////////////////////////
echo "<strong><center>ARCHIVO IMPORTADO CON EXITO, EN TOTAL " .$campo. " REGISTROS Y " .$errores. " ERRORES</center></strong>";
//una vez terminado el proceso borramos el
//archivo que esta en el servidor el temp_
}
?>
</body></html>