Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] duda en poder importar user de CSV a tabla mysql

Estas en el tema de duda en poder importar user de CSV a tabla mysql en el foro de PHP en Foros del Web. Hola es que tengo un archivo CSV donde esta los usuarios y quiero importarlo a la tabla de usuarios con php que forma usaria este ...
  #1 (permalink)  
Antiguo 07/04/2013, 06:56
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 759
Antigüedad: 11 años, 10 meses
Puntos: 10
duda en poder importar user de CSV a tabla mysql

Hola es que tengo un archivo CSV donde esta los usuarios y quiero importarlo a la tabla de usuarios con php que forma usaria

este es el archivo user.csv

Código csv:
Ver original
  1. // usuario:password:fecha:activo:comentario:run ;creador
  2. dm1:dm1:2013-06-08:1::1 ;demo
  3. dm2:dm2:2013-06-08:1::1 ;demo
  4. dm3:dm3:2013-06-08:1::1 ;demo
  5. dm4:dm4:2013-06-08:1::1 ;demo

Última edición por xoceunder; 07/04/2013 a las 07:08
  #2 (permalink)  
Antiguo 07/04/2013, 08:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: duda en poder importar user de CSV a tabla mysql

A nivel de SQL, ese CSV está mal formado, por lo que no podrás hacerlo directamente. Necesitarías procesar el archivo para separar los valores de los campos.
Para que quede claro: Tienes dos formas de separar columnas allí: estás usando al mismo tiempo dos puntos (:) y un punto y coma (;).
En esas condiciones, usar LOAD DATA INFILE no es una opción porque requiere que el separador de columnas sea siempre el mismo en cada registro, por lo que si le indicas lo primero, el ultimo campo quedará sumado al anterior, y si le indicas lo segundo, te lo tomará como si fuesen dos campos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/04/2013, 09:15
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 759
Antigüedad: 11 años, 10 meses
Puntos: 10
Respuesta: duda en poder importar user de CSV a tabla mysql

ok si lo introdusco en un archivo xml

asi

Código XML:
Ver original
  1. <user-list>
  2. <user name="006" password="006" expiry="2013-08-05" status="1" package="" max-login-count="1" comments="char"/>
  3. <user name="01o" password="01o" expiry="2013-04-13" status="1" package="" max-login-count="1" comments="jos"/>
  4. </user-list>

como puedo insertar todo el registro a la tabla de mysql
  #4 (permalink)  
Antiguo 07/04/2013, 10:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: duda en poder importar user de CSV a tabla mysql

Básicamente igual: Como MySQL no interpreta directamente XML, tendrás que hacer un loop de querys de INSERT...
Código PHP:
Ver original
  1. $sx = simplexml_load_file('archivo.xml');
  2.  
  3.  
  4. foreach($sx->post as $item)
  5.     {
  6.     $title_text_value = $item->title;
  7.     $usr = $item->user_name;
  8.     $pwd = $item->password
  9.     $expr = $item->expiry;
  10.     $stat = $item->status;
  11.     $pack = $item->package;
  12.     $maxlog = $item->max_login_count;
  13.     $comnt = $item->comments;
  14.     $qry = "INSERT INTO tabla(username, pass, expire, estado, paquete, maxlogin, comentarios) ";
  15.     $qry .= "VALUES('$usr', '$pwd', '$expr', '$stat', '$pack', '$maxlog', '$comnt') ";
  16.     $mysqli = new mysqli("host", "usuario", "password", "db");
  17.     $result = $mysqli->query($qry);
  18.     if($result)
  19.         {
  20.         // lo que sea que haga en ese caso
  21.         }
  22.     }

Por allí con otros frameworks o librerías puedes hacerlo más sencillo o directo. Los más expertos te pueden aconsejar mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 07/04/2013, 11:06
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 759
Antigüedad: 11 años, 10 meses
Puntos: 10
Respuesta: duda en poder importar user de CSV a tabla mysql

muchas gracias amigo me funciono

Etiquetas: csv, mysql, poder, tabla, usuarios
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 05:37.