Problème export CSV

Signaler
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
-
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
-
Bijour ,

j'ai une erreur lors de mon exportation de ma table MySQL en CSV ... mais je ne comprend pas tout ...

mon code :
function

make_CSV(
$table
) {
   

//crée le fichier CSV à exporter




   $file
= fopen(

'download/'
.

$table
.

'.csv'
,

'w'
);
   
   if (!

$file
) {
      echo

"Impossible d'ouvrir un fichier distant en ecriture.
\n
"
;
      exit;
   }


   $q
= mysql_query(

'SELECT * FROM `'
.

$table
.

'`'
);
    if (!

$q
) {
      echo 'impossible d\executer la requête sur

: '
.

$table
);
   }else{
      

//ecrit chaque entete de champ dans le CSV ...
      

for (

$i
=

0
;

$i
<= mysql_num_fields(

$q
);

$i
++) { 
         

$champ
= mysql_field_name(

$q
,

$i
); // =========> ici ligne 21
         fwrite(

$file
,

"
"

$champ


"
;"
);
      }


      // saut de ligne
      
fwrite(

$file
,

"
\n
"
);


      // ecrit le contenu dans le fichier CSV
      

while (

$row
= mysql_fetch_array(

$q
)) {
         for(

$i
=

0
;

$test
= each(

$row
);

$i
++) {
            

$valeur
=trim(str_replace(

"
\n
"
,

""
,

$test
[

1
]));
             if (

$i
%

2
) fwrite(

$file
,

"
"

$valeur


"
;"
);
         }
      
         fwrite(

$file
,

"
\n
"
); 
      }      fclose(


$file
);
      mysql_free_result(

$q
);   }

   echo


'<script language ="javascript">document.location.href=
\'
'
.

$_SERVER
[

'PHP_SELF'
].

'?file='
.

$table
.

'
\'
;</script>'
;}







mon erreur est :
Warning: mysql_field_name(): Field 4 is invalid for MySQL result index 6 in c:\program files\easyphp\www\odbc\include\mysql.fonction.php on line 21

ma ligne 21 est en rouge ....

merci pour votre aide ....

ChaPaT'

1 réponse

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Salut,

il n'y a que 4 champs dans ton résultat... C'est à dire, les champs d'indexes 0, 1, 2 et 3... (Ca en fait bien 4)

Donc, pas de champs à l'index 4!

Voilà,
A+