Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/09/2010, 06:14
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Problema importar csv

Mirando el archivo que genera Outlook veo que utiliza ";" en la generación de los csv (si tu versión es distinta lo cambias). Hice un par de modificaciones a tu código y en principio puede importar sin problemas, espero que te sirva. Para el ejemplo he utilizado una tabla de pruebas como esta:

Código:
CREATE TABLE `temp` (

  `Title` varchar(32) NOT NULL,

  `Email` varchar(32) default NULL,

  PRIMARY KEY  (`Title`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

insert  into `temp`(`Title`,`Email`) values ('Miss','[email protected]'),('Mr','[email protected]'),('Mrs','[email protected]');
El código PHP quedaría así:

Código PHP:
        $selTotal "SELECT * FROM temp";
        
$res mysql_query($selTotal);
        
        
$csvName "libreta.csv";
        
$fileHandle fopen($csvName,'w+');
        
        
$elCSV "Title;";
        
$elCSV .= "Email"//El último campo no lleva ;
        
$elCSV .= "\n";
        
        while( 
$elTotal mysql_fetch_assoc($res) ){
        
            
$elCSV .= "{$elTotal['Title']};";
            
$elCSV .= "{$elTotal['Email']}"//El último campo no lleva ;
            
$elCSV .= "\n";
        }
        
        
fwrite($fileHandle,$elCSV);
        
fclose($fileHandle);
        
        
        
header("Pragma: public");
        
header("Expires: 0");
        
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        
header("Cache-Control: private",false);
        
header('Content-Type: application/csv; utf-8');
        
header("Content-Disposition: attachment; filename=libreta.csv");
        
header("Content-Transfer-Encoding: binary");
        
//  header("Content-Length: ".filesize($elCSV));
        
readfile('libreta.csv');
        exit(); 
Espero que te sea útil, 1 saludo;