Page 1 sur 1

Export CSV - PHP

Posté : 29 mars 2007, 14:24
par yegortitov
Bonjour à tous,

tout d'abord je tiens à préciser que j'ai effectué une recherche sur le forum avant de poster.

J'aimerais effectuer un export csv du résultat d'une requête. Voici le code exemple que j'utilise pour le moment :
$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
}

fclose($fp);
Ce dernier stocke bien les élément du tableau. Cependant, comment faire pour :
1. mettre par exemple 'aaa,bbb,ccc,dddd' dans une colonne, '123,456,789' dans une seconde colonne ?
2. donner un nom à ces colonnes.
3. permettre à l'utilisateur de nommer et enregistrer le fichier

Merci par avance

Posté : 29 mars 2007, 16:55
par Expreg
Tu peux expliquer la bizarreté de ton tableau $list ?
4 valeurs séparée par des virgules, puis 3 , puis 2.

Si cela est le résultat d'une requête, comment est assemblée ta liste.
Si des valeurs sont à NULL, il devait au moins y avoir du vide dans ton tableau ????

Bref, pas clair ton truc.

Posté : 29 mars 2007, 17:31
par Invité
Tu peux expliquer la bizarreté de ton tableau $list ?
4 valeurs séparée par des virgules, puis 3 , puis 2.

Si cela est le résultat d'une requête, comment est assemblée ta liste.
Si des valeurs sont à NULL, il devait au moins y avoir du vide dans ton tableau ????

Bref, pas clair ton truc.
Bjr

je tire ça tout simplement de l'exemple de php.net

http://fr2.php.net/fputcsv

Posté : 29 mars 2007, 17:35
par Invité
admettons que j'ai une requete dont je veux récupérer 3 champ :

nom, prenom, mail

Comment faire pour exporter les résultat de celle ci vers un xls ou csv avec 3 colonnes nom, prenom et mail ?

Merci, et désolé si je n'ai pas été clair

Posté : 29 mars 2007, 23:55
par dogmongo
Salut

tu as un script génial pour ca il est disponible sur le net , enfin je crois , il me semble que ca s'appelait xlsMagique.

Tu peu facilement le modifier et l'utiliser a ta guise , il est sur les 2 formats acces et axcel :wink:

Je viens de te retrouver le lien http://odbcphp.free.fr/

Posté : 30 mars 2007, 16:53
par Invité
Salut

tu as un script génial pour ca il est disponible sur le net , enfin je crois , il me semble que ca s'appelait xlsMagique.

Tu peu facilement le modifier et l'utiliser a ta guise , il est sur les 2 formats acces et axcel :wink:

Je viens de te retrouver le lien http://odbcphp.free.fr/
merci à toi.
A bientôt

Posté : 31 mars 2007, 08:33
par Expreg
Tiens la méthode pour avoir un tableau multi :
<?php
<?php
$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);
foreach ($list as $key=>$line) 
{
$colonne[]=explode(',',$line);
}
echo '<pre>';
echo print_r($colonne,true);
echo '</pre>';
?> 
Avec ça tu obtiens cet affichage :
Array
(
[0] => Array
(
[0] => aaa
[1] => bbb
[2] => ccc
[3] => dddd
)

[1] => Array
(
[0] => 123
[1] => 456
[2] => 789
)

[2] => Array
(
[0] => "aaa"
[1] => "bbb"
)

)

Il te suffit de traiter toutes les clés identiques sur une même ligne CSV.
Problème dans le cas présent (exemple de la doc) tes lignes ne sont pas complètes, il manque des données dans les array()
A toi de traiter en conséquence. :wink: