Bienvenue invité ( Connexion | Inscription )
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. |
|
|
|
![]() |
8 Mar 2019, 13:59
Message
#2
|
|
|
Macbidouilleur de bronze ! ![]() ![]() Groupe : Membres Messages : 265 Inscrit : 31 Aug 2002 Lieu : Saint-Jean-de-Luz Membre no 3 355 |
Dans ce cas, c'est un problème d'encodage.
Il faut que tu te renseignes pour savoir quel encodage doit être utilisé avec le module de conversion excel. (UT8 ou autre) Ensuite, tu vérifies quel encodage tu utilises dans ta base de données et tu te débrouilles pour convertir comme il faut. par exemple, pour passer de ISO-8859-1 en UTF8 : utf8_encode() http://php.net/manual/fr/function.utf8-encode.php et l'inverse : utf8_decode() http://php.net/manual/fr/function.utf8-decode.php et tu peux reprendre le code que je t'ai déjà donné en exemple en remplaçant strip_tag par utf8_encode (ou utf8_decode) -------------------- 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) |
|
|
|
clarusad résolu : PHP foreach dans array 6 Mar 2019, 18:56
Philippe64 Pas trop le temps là, mais ton foreach à rien à... 6 Mar 2019, 19:00
clarusad Ça progresse :Code$n=0;
foreach( $r... 6 Mar 2019, 20:00
Pixel44 Bonjour,
J'ai aussi essayé mais je me heurt... 8 Mar 2019, 05:10
baron As-tu essayé Google: Caractères interdits XML ? 8 Mar 2019, 05:43
Pixel44 pas encore... 8 Mar 2019, 05:43
Philippe64 si avant de convertir tes données, il te faut tra... 8 Mar 2019, 09:30
Pixel44 En fait ce sont les accents qui sont refusés 8 Mar 2019, 13:15
Pixel44 merci pour le coup de main : ce fut bien un probl�... 8 Mar 2019, 18:59![]() ![]() |
| Nous sommes le : 4th April 2026 - 18:07 |