Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/03/2014, 13:50
JorgeQuirino
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 3 meses
Puntos: 1
Respuesta: Eliminacion de primeras filas de una tabla

Ese es mi codigo

Código php:
Ver original
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>:: Importar de Excel a la Base de Datos ::</title>
  5. </head>
  6. <body>
  7. <!-- FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL -->
  8. Selecciona el archivo Listusr:
  9. <form name="importa" method="post" action="<?php echo$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" >
  10. <input type="file" name="excel" />
  11. <input type='submit' name='enviar'  value="Importar"  />
  12. <input type="hidden" value="upload" name="action" />
  13. </form>
  14. <!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload -->
  15.  
  16. <?php
  17. $action='';
  18. extract($_POST);
  19. if ($action == 'upload') //si action tiene como valor UPLOAD haga algo (el value de este hidden es es UPLOAD iniciado desde el value
  20. {
  21. //cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_)
  22. $archivo = $_FILES['excel']['name']; //captura el nombre del archivo
  23. $tipo = $_FILES['excel']['type']; //captura el tipo de archivo (2003 o 2007)
  24.  
  25. $destino = "bak_".$archivo; //lugar donde se copiara el archivo
  26.  
  27. if (copy($_FILES['excel']['tmp_name'],$destino)) //si dese copiar la variable excel (archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar)
  28. {
  29. echo "Archivo Cargado Con Exito";
  30. }
  31. else
  32. {
  33. echo "Error Al Cargar el Archivo";
  34. }
  35.  
  36. //validacion para saber si el archivo ya existe previamente
  37. if (file_exists ("bak_".$archivo))
  38. {
  39. /*INVOCACION DE CLASES Y CONEXION A BASE DE DATOS*/
  40. /** Invocacion de Clases necesarias */
  41.  
  42. require_once 'Classes/PHPExcel.php';
  43. require_once 'Classes/PHPExcel/Reader/Excel2007.php';
  44. //DATOS DE CONEXION A LA BASE DE DATOS
  45. $cn = mysql_connect ("localhost","root","") or die ("ERROR EN LA CONEXION");
  46. $db = mysql_select_db ("perfilados",$cn) or die ("ERROR AL CONECTAR A LA BD");
  47.  
  48. // Cargando la hoja de calculo
  49. $objReader = new PHPExcel_Reader_Excel2007(); //instancio un objeto como PHPExcelReader(objeto de captura de datos de excel)
  50. $objPHPExcel = $objReader->load("bak_".$archivo); //carga en objphpExcel por medio de objReader,el nombre del archivo
  51. $objFecha = new PHPExcel_Shared_Date();
  52.  
  53. // Asignar hoja de excel activa
  54. $objPHPExcel->setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en esta caso 0 o 1) con el setActiveSheetIndex(numeroHoja)
  55.  
  56. function insert($valores){
  57.     mysql_query("insert into listusr values ".$valores);
  58. }
  59. // Llenamos un arreglo con los datos del archivo xlsx
  60. $i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel
  61. $param=0;
  62. $contador=0;
  63. $f=7000; //para insertmultiple
  64. while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos
  65. {
  66. $USUARIOS=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
  67. $NOMBREUSUARIO=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
  68.  
  69. $valores.="('$USUARIOS','$NOMBREUSUARIO'),";
  70. if($i==$f){
  71. $valores=substr($valores,0,-1);
  72. $c="insert into listusr values ".$valores;
  73. $f+=7000;
  74. }
  75.  
  76. if($objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue()==NULL)
  77. //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria el fin del ciclo while
  78. {
  79. $param=1; //para detener el ciclo cuando haya encontrado un valor NULL
  80. }
  81. $i++;
  82. $contador=$contador+1;
  83. }
  84.  
  85. if($i<$f && $i>($f-3000)){
  86. $valores=substr($valores,0,-1);
  87. insert($valores); //INSERTAMOS
  88. }else{
  89.     if($i<3000){ // SI NO SUPERA LOS 1000 REGISTROS CARGA LOS QUE ALLA
  90.     $valores=substr($valores,0,-1);
  91.     insert($valores); //INSERTAMOS
  92.     }
  93. }
  94.  
  95. $totalIngresados=$contador-1; //(porque se se para con un NULL y le esta registrando como que tambien un dato)
  96. echo "Total elementos subidos: $totalIngresados ";
  97. }
  98. else//si no se ha cargado el bak
  99. {
  100. echo "Necesitas primero importar el archivo";}
  101. unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo)
  102. }
  103. ?>
  104. <a  href= "cargaArchivos.html" > Volver</a>
  105. </body>
  106. </html>