IPB

Bienvenue invité ( Connexion | Inscription )

> résolu : PHP foreach dans array, pour générer tableau Excel
Options
clarusad
posté 6 Mar 2019, 18:56
Message #1


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 329
Inscrit : 17 Oct 2006
Lieu : Strasbourg, France
Membre no 70 694



Salut,
Le but final est de générer un fichier Excel avec cette librairie : PHP_XLSXWriter.

Ça fonctionne très bien à la main :
Code
$data = array(
    array('year','month','amount'),
    array('2003','1','220'),
    array('2003','2','153.5'),
);

$writer = new XLSXWriter();
$writer->writeSheet($data);
$writer->writeToFile('output.xlsx');


Sauf que chez moi je dois remplir $data avec une variable qui contient un tableau. Jusque là tout va bien, puis que si je fais un print_r()
Code
print '<pre>';
print_r($montableau);
print '</pre>';

J'obtiens le résultat attendu :
Code
Array
(
    [0] => Array
        (
            [id] => 13
            [date] => 20191231235959
            [deleg] => 33
            [pren] => PRÉNOM
            [name] => NOM
            [mail] => [email protected]
            [fonc] => delegue_college_elus
            [stru] => STRUCTURE
            [vill] => VILLE
            [pouv] => 1
            [pouvnom] => PERSPOUV
            [pres] => 0
        )

    [1] => Array
        (
            [id] => 14
            [date] => 20191231235959
            [deleg] => 33
            [pren] => PRÉNOM
            [name] => NOM
            [mail] => [email protected]
            [fonc] => delegue_college_elus
            [stru] => STRUCTURE
            [vill] => VILLE
            [pouv] => 0
            [pouvnom] => PERSPOUV
            [pres] => 1
        )

)


Maintenant si je veux combiner les deux :
Code
$data = array(
    array(
        foreach( $result as $id => $ubtable ) {
            print $ubtable['date'];
            }
        ),
    );


Ça plante avec l'erreur suivante : «Parse error: syntax error, unexpected 'foreach' (T_FOREACH), expecting ')' in /Users/blabla... fichier machin ligne truc»

Une idée ?
Merci

Ce message a été modifié par clarusad - 7 Mar 2019, 18:11.
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Philippe64
posté 8 Mar 2019, 09:30
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 265
Inscrit : 31 Aug 2002
Lieu : Saint-Jean-de-Luz
Membre no 3 355



si avant de convertir tes données, il te faut traiter tes valeur pour qu'elles soient compatible XML.

du genre :

Code
$my_array = [……]; // Ton tableau de départ

$opt_array = []; // Ton futur tableau optimisé XML

foreach($my_array as $key=>$val) {

    $opt_array[$key] = strip_tags($val);

}


du coup $opt_array est une copie de ton tableau d'origine, mais sans html / xml dedans


--------------------
En activité : MacBook Pro 16" M1 Max de 2021 - Macbook pro 15" Core I7 à 2.8Ghz de 2015 - Macbook pro 13" Core I5 à 2.5Ghz - Macbook pro 15" Core duo de 2006
En Panne : Imac 27 Pouces Core I7 à 3.4Ghz - mid 2011 (je cherche un écran)
A la retraite : Imac C2D 24 Pouces (blanc) à 2.33 Ghz - iBook14" 800 Mhz - Quicksilver 733 - G3 bleu et blanc - Macintosh Classic

Crea64 : création de site internet à Saint-Jean-de-Luz (64)
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 4th April 2026 - 18:07