Código PHP:
Ver original
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>:: Importar de Excel a la Base de Datos ::</title> </head> <body> <!-- FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL --> <form name="importa" method="post" action="<?php echo$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" style="position:absolute;top:180;left:50"> <p>Selecciona el archivo Listgrp:</p> <input type="file" name="excel" /> <input type='submit' name='enviar' value="Importar" /> <input type="hidden" value="upload2" name="action" /> </form> <!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload --> <?php //mostrara solamente errores de ejecucion dentro de la pag. $action=''; if ($action == 'upload2') //si action tiene como valor UPLOAD haga algo (el value de este hidden es es UPLOAD iniciado desde el value { //cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_) $archivo = $_FILES['excel']['name']; //captura el nombre del archivo $tipo = $_FILES['excel']['type']; //captura el tipo de archivo (2003 o 2007) $destino = "bak_".$archivo; //lugar donde se copiara el archivo if (copy($_FILES['excel']['tmp_name'],$destino)) //si dese copiar la variable excel (archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar) { echo "<p style='position:absolute;top:235;left:120'>Archivo Cargado Con Exito</p>"; } else { echo "Error Al Cargar el Archivo"; } //validacion para saber si el archivo ya existe previamente { /*INVOCACION DE CLASES Y CONEXION A BASE DE DATOS*/ /** Invocacion de Clases necesarias */ require_once 'Classes/PHPExcel.php'; require_once 'Classes/PHPExcel/Reader/Excel2007.php'; //DATOS DE CONEXION A LA BASE DE DATOS // Cargando la hoja de calculo $objReader = new PHPExcel_Reader_Excel2007(); //instancio un objeto como PHPExcelReader(objeto de captura de datos de excel) $objPHPExcel = $objReader->load("bak_".$archivo); //carga en objphpExcel por medio de objReader,el nombre del archivo $objFecha = new PHPExcel_Shared_Date(); // Asignar hoja de excel activa $objPHPExcel->setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en esta caso 0 o 1) con el setActiveSheetIndex(numeroHoja) function insert($valores){ } $i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel $param=0; $contador=0; $f=2000; //para insertmultiple while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos { $GRUPO=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue(); $NOMBREGRUPO=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue(); $valores.="('$GRUPO','$NOMBREGRUPO'),"; if($i==$f){ $c="insert into LISTGRP values ".$valores; $f+=2000; } if($objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue()==NULL) //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria el fin del ciclo while { $param=1; //para detener el ciclo cuando haya encontrado un valor NULL } $i++; $contador=$contador+1; } if($i<$f && $i>($f-3000)){ insert($valores); //INSERTAMOS }else{ if($i<3000){ // SI NO SUPERA LOS 3000 REGISTROS CARGA LOS QUE ALLA insert($valores); //INSERTAMOS } } $totalIngresados=$contador-1; //(porque se se para con un NULL y le esta registrando como que tambien un dato) echo "<p style='position:absolute;top:255;left:100'>Total elementos subidos: $totalIngresados, <img src='img/correcto.jpg' border='0' width=5% height='4%'></p>"; } else//si no se ha cargado el bak { echo "Necesitas primero importar el archivo";} } ?> <br> <br> <br> </body> </html>
lo que hace es importar un archivo excel a mysql.
lo que necesito es que tengo 4 archivos que subir y los tengo todos en formularios y archivos distintos, como los puedo unir todos dentro de un solo formulario y cargarlos todos con un solo boton