Bonjour à toutes et à tous.
Bonne fête de fin d'année !
Voilà j'ai un petit soucis, je veux exporter certaines infos d'une table ORACLE vers un fichier csv.
Tout semble aller jusqu'à l'ouverture du CSV créé, et là je m'aperçois que pour chaque ligne, mes champs sont mis dans la première cellule.
Alors je vous passe mon code, en espérant qu'il ne soit pas trop dégueu. ^^
Code :
- header("Content-Type: application/csv" );
- header("Content-disposition: filename=abonnes.csv" );
- $query_abonnes="MA REQUETE QUI FONCTIONNE";
- $sql=ociparse($conn,$query_abonnes);
- ociexecute($sql);
- $numcols=ocinumcols($sql);
- $nbresults=1;
- $col=Array();
- $row=Array();
- $contenu='';
- if($numcols!=0){
- for ($i=1; $i<=$numcols; $i++){
- // Pour chaque colonne de chaque ligne
- $col[$i] = ocicolumnname($sql, $i);
- $contenu .= $col[$i].';';
- }
- $contenu .= "\n";
- while(ocifetch($sql)){//A chaque résultat retourné,
- for($j=1;$j<=$numcols;$j++){ //Pour chaque colonne de la ligne en question
- $results[$nbresults][$j]=str_replace("\n", " ", (ociresult($sql,($col[$j]))));
- $contenu .= $results[$nbresults][$j].';';
- }
- $nbresults++;//on ajoute 1 a la variable nbresults
- $contenu .= "\n";
- }
- }
|
la variable contenu contient au final en brut :
colonne1;colonne2;colonne3;colonne4;colonne5;colonne6;colonne7;colonne8;colonne9;colonne10;colonne10;colonne11;
champ1;champ2;champ3;champ4;champ5;champ6;champ7;champ8;champ9;champ10;champ10;champ11;
En gros dans le fichier exporté,
toutes mes colonnes se trouvent dans la colonne1
et tous mes champs se trouvent dans le champ1
Peut-être un problème de content type..., ou quelquechose d'encore plus simple qui ne me saute pas aux yeux
Merci pour le coup de main.
Message édité par jocastt le 24-12-2008 à 13:03:14