Foros del Web » Programando para Internet » PHP »

Insertar desde Archivo a MySQL

Estas en el tema de Insertar desde Archivo a MySQL en el foro de PHP en Foros del Web. Hola amigos de Foros del Web, habia estado un poco alejado de los foros, pero vuelvo aqui y es para pedirles ayuda con un problema ...
  #1 (permalink)  
Antiguo 16/11/2011, 13:47
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 10 meses
Puntos: 2
Insertar desde Archivo a MySQL

Hola amigos de Foros del Web, habia estado un poco alejado de los foros, pero vuelvo aqui y es para pedirles ayuda con un problema que se me esta presentando en mi aplicacion, le explico.

Tengo un formulario con un campo FILE para importar el contenido de un archivo CSV a MySQL, el proceso funciona correctamente, valido la extension, valido la cantidad de campos y todo funciona ok.

El problema que tengo es que me inserta los nombres de campos que estan en la FILA 1 del Archivo CSV y no se como hacer que me inserte a partir de la FILA 2 del archivo CSV, aqui les coloco el codigo donde hace la importacion

import.php

Código PHP:
<?php
include_once("conexion.php");

$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();
    
ini_set ('auto_detect_line_endings','1');

$csv $_FILES['import_csv']['name'];
$ext $_FILES['import_csv']['type'];


if(
$ext != 'application/vnd.ms-excel'
{
    
//SI LA CONDICION SE CUMPLE MOSTRARA EL MENSAJE DE QUE LAS EXTENSIONES NO SON VALIDAS O EL ARCHIVO ES MUY LARGO EN SU NOMBRE
    
echo "<script>alert('".$ext." Extension no Valida, debe ser un archivo separado por comas (CSV)')</script>";
    echo 
"<script> window.close(); </script>";

else
{
$fileOpen fopen ("$csv","r");
while (
$data fgetcsv ($fileOpen1000","))
{
$num count ($data);

if(
$num 30 || $num 30){
    
  echo 
"<script>alert('Formato de Archivo no es valido!!!')</script>";
  echo 
"<script> window.history.back(-1); </script>";
} else {
$query ="INSERT INTO nmmarcacion SET MAR_CODTRA='".$data[0]."',MAR_JORNAD='".$data[1]."',MAR_JORTMP='".$data[2]."',MAR_GRUPO='".$data[3]."',
            MAR_DESDE='"
.$data[4]."',MAR_HASTA='".$data[5]."',MAR_HORLUN='".$data[6]."',MAR_HORMAR='".$data[7]."',MAR_HORMIE='".$data[8]."',
      MAR_HORJUE='"
.$data[9]."',MAR_HORVIE='".$data[10]."',MAR_HORSAB='".$data[11]."',MAR_HORDOM='".$data[12]."',MAR_HOREXT='".$data[13]."',
          MAR_HORNOC='"
.$data[14]."',MAR_SECCIO='".$data[15]."',MAR_HEDL='".$data[16]."',MAR_HEDM='".$data[17]."',MAR_HEDMI='".$data[18]."',
               MAR_HEDJ='"
.$data[19]."',MAR_HEDV='".$data[20]."',MAR_HEDS='".$data[21]."',MAR_HEDD='".$data[22]."',MAR_HENL='".$data[23]."',
              MAR_HENM='"
.$data[24]."',MAR_HENMI='".$data[25]."',MAR_HENJ='".$data[26]."',MAR_HENV='".$data[27]."',MAR_HENS='".$data[28]."',
              MAR_HEND='"
.$data[29]."'";
$variac=$conexion->ejecutarQuery($query);

echo 
"<script> alert('Importacion Satisfactoria!!! ".$num."')</script>";
echo 
"<script> window.close();</script>";
/*echo " <br>";
echo $query;*/
 
}
}

fclose ($fileOpen);
}
?>
Espero puedan ayudarme con este problema que parece sencillo pero no logro dar en el clavo

Saludos
  #2 (permalink)  
Antiguo 16/11/2011, 14:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Insertar desde Archivo a MySQL

Simple, agrega un contador, si el contador es = 0, usas continue; para brincar:
Código PHP:
Ver original
  1. $count = 0;
  2. while (readcsv()) {
  3.        if ($count == 0) continue;
  4.  
  5.        $count++;
  6. }

Saludos.

Etiquetas: csv, csv+php+mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:16.