Bonjour,

je suis sur une fonction qui liste ma table pour faire un fichier .csv

La création se fais bien, mais au moment de l'import sql avec phpmyadmin, j'ai une erreur "Nombre de colonnes invalide dans les données CSV à la ligne 1".

Voici mon fichier csv sur excel :

Nom : cr.png
Affichages : 590
Taille : 8,2 Ko

mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    $r = $bd->query('SELECT * FROM csv1 ');
 
    $csv = [];
    $csv[] = [`COL 1`, `COL 2`, `COL 3`, `COL 4`, `COL 5`, `COL 6`, `COL 7`, `COL 8`, `COL 9`, `COL 10`, `COL 11`, `COL 12`, `COL 13`, `COL 14`, `COL 15`, `COL 16`, `COL 17`, `COL 18`, `COL 19`, `COL 20`, `COL 21`, `COL 22`, `COL 23`, `COL 24`, `COL 25`, `COL 26`, `COL 27`, `COL 28`, `COL 29`, `COL 30`, `COL 31`, `COL 32`, `COL 33`, `COL 34`, `COL 35`, `COL 36`, `COL 37`, `COL 38`];
    $csv[] = ['', '', '','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',];
 
    while($rs = $r->fetch(PDO::FETCH_ASSOC)){
        $csv[] = [$rs['COL 1'],$rs['COL 2'],$rs['COL 3'],$rs['COL 4'],$rs['COL 5'],$rs['COL 6'],$rs['COL 7'],$rs['COL 8'],$rs['COL 9'],$rs['COL 10'],$rs['COL 11'],$rs['COL 12'],$rs['COL 13'],$rs['COL 14'],$rs['COL 15'],$rs['COL 16'],
                  $rs['COL 17'],$rs['COL 18'],$rs['COL 19'],$rs['COL 20'],$rs['COL 21'],$rs['COL 22'],$rs['COL 23'],$rs['COL 24'],$rs['COL 25'],$rs['COL 26'],$rs['COL 27'],$rs['COL 28'],$rs['COL 29'],$rs['COL 30'],$rs['COL 31'],$rs['COL 32'],
                  $rs['COL 33'],$rs['COL 34'],$rs['COL 35'],$rs['COL 36'],$rs['COL 37'],$rs['COL 38']];
    }
 
    $fichier_csv = fopen("csv.csv", "w+");
 
    fprintf($fichier_csv, chr(0xEF).chr(0xBB).chr(0xBF));
 
    foreach($csv as $ligne){
        $ligne = array_map("utf8_decode", $ligne);
        fputcsv($fichier_csv, $ligne, ";");
    }
 
    fclose($fichier_csv);
J'ai bien le bon nombre de colonnes.

En fait, si j'importe sur une table vierge, ça me place tout dans une colonne.

Nom : col.png
Affichages : 567
Taille : 15,2 Ko


Merci