Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2014, 12:41
JorgeQuirino
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 3 meses
Puntos: 1
Unir formularios de carga de archivos

tengo 4 ventanas que cargan unos archivos, la pregunta como puedo unirlos dentro de uno solo, con un solo boton que me los importe

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <meta name="viewport" content="width=device-width"/>
  5.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6.     <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" >
  7.    
  8. <title>:: Importar de Excel a la Base de Datos ::</title>
  9.  
  10. <style type="text/css">
  11. b{
  12.   font-family: "Courier New", Courier, monospace;
  13.   font-size: x-large
  14. }
  15. </style>
  16. </head>
  17.  
  18. <body>
  19.  
  20.     <div style="position:absolute;top:20;left:580;width:290;">
  21.     <center><p><b>Menú de carga de archivos</b></p></center>
  22.     </div>
  23.    
  24.     <div class="alert alert-warning" STYLE="position:absolute; left:560; top:180; width:400">
  25.     <strong>Recordar</strong>
  26.     que los archivos deben estar con extencion .xlsx para la carga de estos.
  27.     <img src='img/xlsx3.png' border='0' width='25%' height='8%'>       
  28.     </div>
  29.  
  30. <!-- FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL -->
  31.  
  32. <form name="importa" method="post" action="<?php echo$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" style="position:absolute;top:50;left:50">
  33. <p>Selecciona el archivo Pvigente:</p>
  34. <input type="file" name="excel" />
  35. <input type='submit' name='enviar'  value="Importar" style="position:absolute;top:540;left:150" />
  36. <input type="hidden" value="upload1" name="action" />
  37. </form>
  38. <!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload -->
  39.  
  40. <?php
  41. //mostrara solamente errores de ejecucion dentro de la pag.
  42.  
  43. $action='';
  44. extract($_POST);
  45. if ($action == 'upload1') //si action tiene como valor UPLOAD haga algo (el value de este hidden es es UPLOAD iniciado desde el value
  46. {
  47. //cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_)
  48. $archivo = $_FILES['excel']['name']; //captura el nombre del archivo
  49. $tipo = $_FILES['excel']['type']; //captura el tipo de archivo (2003 o 2007)
  50.  
  51. $destino = "bak_".$archivo; //lugar donde se copiara el archivo
  52.  
  53. if (copy($_FILES['excel']['tmp_name'],$destino)) //si dese copiar la variable excel (archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar)
  54. {
  55. echo "<p style='position:absolute;top:110;left:120'>Archivo Cargado Con Exito</p>";
  56. }
  57. else
  58. {
  59. echo "Error Al Cargar el Archivo";
  60. }
  61.  
  62. //validacion para saber si el archivo ya existe previamente
  63. if (file_exists ("bak_".$archivo))
  64. {
  65. /*INVOCACION DE CLASES Y CONEXION A BASE DE DATOS*/
  66. /** Invocacion de Clases necesarias */
  67.  
  68. require_once 'Classes/PHPExcel.php';
  69. require_once 'Classes/PHPExcel/Reader/Excel2007.php';
  70. //DATOS DE CONEXION A LA BASE DE DATOS
  71. $cn = mysql_connect ("localhost","root","") or die ("ERROR EN LA CONEXION");
  72. $db = mysql_select_db ("perfilados",$cn) or die ("ERROR AL CONECTAR A LA BD");
  73.  
  74. mysql_query("SET NAMES 'utf8'");
  75. mysql_query("SET CHARACTER SET 'utf8'", $cn);
  76.  
  77. // Cargando la hoja de calculo
  78. $objReader = new PHPExcel_Reader_Excel2007(); //instancio un objeto como PHPExcelReader(objeto de captura de datos de excel)
  79.  
  80. $objPHPExcel = $objReader->load("bak_".$archivo); //carga en objphpExcel por medio de objReader,el nombre del archivo
  81. $objFecha = new PHPExcel_Shared_Date();
  82.  
  83. // Asignar hoja de excel activa
  84. $objPHPExcel->setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en esta caso 0 o 1) con el setActiveSheetIndex(numeroHoja)
  85.  
  86. // Llenamos un arreglo con los datos del archivo xlsx
  87. $i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel
  88. $param=0;
  89. $contador=0;
  90. while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos
  91. {
  92. $id_empresa=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
  93. $nom_fantasia=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
  94. $codtra=$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue();
  95. $cod_user_bbva=$objPHPExcel->getActiveSheet()->getCell('D'.$i)->getCalculatedValue();
  96. $rut=$objPHPExcel->getActiveSheet()->getCell('E'.$i)->getCalculatedValue();
  97. $nombre=$objPHPExcel->getActiveSheet()->getCell('F'.$i)->getCalculatedValue();
  98. $id_cargo_funcional=$objPHPExcel->getActiveSheet()->getCell('G'.$i)->getCalculatedValue();
  99.  
  100. $c=("insert into pvigente values('$id_empresa','$nom_fantasia','$codtra','$cod_user_bbva','$rut','$nombre','$id_cargo_funcional')");
  101.  
  102. if($objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue()==NULL)
  103. //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria el fin del ciclo while
  104. {
  105. $param=1; //para detener el ciclo cuando haya encontrado un valor NULL
  106. }
  107. $i++;
  108. $contador=$contador+1;
  109. }
  110. $totalIngresados=$contador-1; //(porque se se para con un NULL y le esta registrando como que tambien un dato)
  111. echo "<p style='position:absolute;top:130;left:80'>Total elementos subidos: $totalIngresados, <img src='img/correcto.jpg' border='0' width=5% height='4%'> </p>";
  112. }
  113. else//si no se ha cargado el bak
  114. {
  115. echo "Necesitas primero importar el archivo";}
  116. unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo)
  117. }
  118. ?>
  119. </body>
  120. </html>
  121.  
  122.  
  123.  
  124. <!-- archivo listgrp-->
  125.  
  126. <html>
  127. <head>
  128. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  129. <title>:: Importar de Excel a la Base de Datos ::</title>
  130. </head>
  131.  
  132. <body>
  133. <!-- FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL -->
  134.  
  135. <form name="importa" method="post" action="<?php echo$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" style="position:absolute;top:180;left:50">
  136. <p>Selecciona el archivo Listgrp:</p>
  137. <input type="file" name="excel" />
  138. <input type='submit' name='enviar'  value="Importar"  style="position:absolute;top:410;left:380"/>
  139. <input type="hidden" value="upload2" name="action" />
  140. </form>
  141. <!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload -->
  142.  
  143. <?php
  144. //mostrara solamente errores de ejecucion dentro de la pag.
  145.  
  146. $action='';
  147. extract($_POST);
  148. if ($action == 'upload2') //si action tiene como valor UPLOAD haga algo (el value de este hidden es es UPLOAD iniciado desde el value
  149. {
  150. //cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_)
  151. $archivo = $_FILES['excel']['name']; //captura el nombre del archivo
  152. $tipo = $_FILES['excel']['type']; //captura el tipo de archivo (2003 o 2007)
  153.  
  154. $destino = "bak_".$archivo; //lugar donde se copiara el archivo
  155.  
  156. if (copy($_FILES['excel']['tmp_name'],$destino)) //si dese copiar la variable excel (archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar)
  157. {
  158. echo "<p style='position:absolute;top:235;left:120'>Archivo Cargado Con Exito</p>";
  159. }
  160. else
  161. {
  162. echo "Error Al Cargar el Archivo";
  163. }
  164.  
  165. //validacion para saber si el archivo ya existe previamente
  166. if (file_exists ("bak_".$archivo))
  167. {
  168. /*INVOCACION DE CLASES Y CONEXION A BASE DE DATOS*/
  169. /** Invocacion de Clases necesarias */
  170.  
  171. require_once 'Classes/PHPExcel.php';
  172. require_once 'Classes/PHPExcel/Reader/Excel2007.php';
  173. //DATOS DE CONEXION A LA BASE DE DATOS
  174. $cn = mysql_connect ("localhost","root","") or die ("ERROR EN LA CONEXION");
  175. $db = mysql_select_db ("perfilados",$cn) or die ("ERROR AL CONECTAR A LA BD");
  176.  
  177.  
  178. // Cargando la hoja de calculo
  179. $objReader = new PHPExcel_Reader_Excel2007(); //instancio un objeto como PHPExcelReader(objeto de captura de datos de excel)
  180. $objPHPExcel = $objReader->load("bak_".$archivo); //carga en objphpExcel por medio de objReader,el nombre del archivo
  181. $objFecha = new PHPExcel_Shared_Date();
  182.  
  183. // Asignar hoja de excel activa
  184. $objPHPExcel->setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en esta caso 0 o 1) con el setActiveSheetIndex(numeroHoja)
  185.  
  186. function insert($valores){
  187.     mysql_query("insert into listgrp values ".$valores);
  188. }
  189.  
  190. $i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel
  191. $param=0;
  192. $contador=0;
  193. $f=2000; //para insertmultiple
  194. while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos
  195. {
  196. $GRUPO=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
  197. $NOMBREGRUPO=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
  198.  
  199. $valores.="('$GRUPO','$NOMBREGRUPO'),";
  200. if($i==$f){
  201. $valores=substr($valores,0,-1);
  202. $c="insert into LISTGRP values ".$valores;
  203. $f+=2000;
  204. }
  205.  
  206. if($objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue()==NULL)
  207. //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria el fin del ciclo while
  208. {
  209. $param=1; //para detener el ciclo cuando haya encontrado un valor NULL
  210. }
  211. $i++;
  212. $contador=$contador+1;
  213. }
  214.  
  215. if($i<$f && $i>($f-3000)){
  216. $valores=substr($valores,0,-1);
  217. insert($valores); //INSERTAMOS
  218. }else{
  219.     if($i<3000){ // SI NO SUPERA LOS 3000 REGISTROS CARGA LOS QUE ALLA
  220.     $valores=substr($valores,0,-1);
  221.     insert($valores); //INSERTAMOS
  222.     }
  223. }
  224. $totalIngresados=$contador-1; //(porque se se para con un NULL y le esta registrando como que tambien un dato)
  225. 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>";
  226. }
  227. else//si no se ha cargado el bak
  228. {
  229. echo "Necesitas primero importar el archivo";}
  230. unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo)
  231. }
  232. ?>
  233.  
  234. </body>
  235. </html>
aqui ahi 2 pag de carga de archivos