Foros del Web » Programando para Internet » PHP »

csv

Estas en el tema de csv en el foro de PHP en Foros del Web. Sres tengo un problema mas o menos complejo, al situacion es la siguiente: por medio de un archivo de excel tengo unos datos para agregar ...
  #1 (permalink)  
Antiguo 14/03/2005, 14:47
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 4 meses
Puntos: 1
Mensaje csv

Sres tengo un problema mas o menos complejo, al situacion es la siguiente:
por medio de un archivo de excel tengo unos datos para agregar en la base de datos o sea el usuario sube el archivo y esa misma pagina se encarga de tomar los valores de las celdas e incluirlos en la tabla el problema es que tengo campos texto y campos numericos decidi sustituir todos los ; por ',' y asi tener todos los campos texto cubiertos pero con los campos numericos que no llevan '' no se como hacer aqui esta el codigo:

<?

$db=mysql_connect('localhost','root','','xxxxxx');
mysql_select_db("xxxxx");

$row = 1;
$fp = fopen ("C:\José Quintero\users345.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
$num = count ($data);
$row++;
for ($c=0; $c<$num; $c++) {
$data[$c]=str_replace(";", "','", $data[$c]);
$data[$c]=str_replace("''", "NULL", $data[$c]);
$data[$c]=str_replace("'0'", "0", $data[$c]);
$data[$c]=str_replace("'0", "0", $data[$c]);

$insertar =("insert into usuarios values (".$data[$c].")");
mysql_query($insertar);
}
}
fclose ($fp);
?>
mas o menos este es uno de los casos
insert into usuarios values (11','[email protected]','wendy','Oswa ldo Llovera','My Wen',NULL,0241-8720138',NULL,0412-7423642',NULL,'Los Chalet Country','Valencia','Carabobo','2002','Venezuela', NULL,0,0,0,0,0) ,

el unico error en esta sentencia es: 11', es un campo index integer
agradesco las ayudas
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
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 21:03.