Problème avec la fonction header()
Résolu/Fermé
beaf
Messages postés
262
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
26 août 2015
-
5 nov. 2012 à 14:55
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 6 nov. 2012 à 19:11
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 6 nov. 2012 à 19:11
A voir également:
- Problème avec la fonction header()
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction filtre excel n'existe pas - Forum Excel
- Fonction somme excel - Guide
- Comment contourner la fonction FILTRE - Forum Excel
5 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
5 nov. 2012 à 15:18
5 nov. 2012 à 15:18
avant l'instruction header .. il ne doit pas y avoir de caractère html, ni d'espace
beaf
Messages postés
262
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
26 août 2015
1
5 nov. 2012 à 15:36
5 nov. 2012 à 15:36
Voici un exemple de mon code que j'ai pri dans un tuto:
<?PHP
$data = array(
array("prenom" => "Mary", "nom" => "Johnson", "age" => 25),
array("prenom" => "Amanda", "nom" => "Miller", "age" => 18),
array("prenom" => "James", "nom" => "Brown", "age" => 31),
array("prenom" => "Patricia", "nom" => "Williams", "age" => 7),
array("prenom" => "Michael", "nom" => "Davis", "age" => 43),
array("prenom" => "Sarah", "nom" => "Miller", "age" => 24),
array("prenom" => "Patrick", "nom" => "Miller", "age" => 27)
);
?>
<?PHP
header("Content-Type: text/plain");
$flag = false;
foreach($data as $row) {
if(!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
echo implode("\t", array_values($row)) . "\r\n";
}
exit;
?>
Merci de votre aide
<?PHP
$data = array(
array("prenom" => "Mary", "nom" => "Johnson", "age" => 25),
array("prenom" => "Amanda", "nom" => "Miller", "age" => 18),
array("prenom" => "James", "nom" => "Brown", "age" => 31),
array("prenom" => "Patricia", "nom" => "Williams", "age" => 7),
array("prenom" => "Michael", "nom" => "Davis", "age" => 43),
array("prenom" => "Sarah", "nom" => "Miller", "age" => 24),
array("prenom" => "Patrick", "nom" => "Miller", "age" => 27)
);
?>
<?PHP
header("Content-Type: text/plain");
$flag = false;
foreach($data as $row) {
if(!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
echo implode("\t", array_values($row)) . "\r\n";
}
exit;
?>
Merci de votre aide
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
5 nov. 2012 à 18:18
5 nov. 2012 à 18:18
quel editeur utilises tu ?
si c'est notepad++, vas dans le menu:
encodage
et mets en Encodage uft8 sans BOM
si tu as un autre editeur il doit y avoir une option semblable
si c'est notepad++, vas dans le menu:
encodage
et mets en Encodage uft8 sans BOM
si tu as un autre editeur il doit y avoir une option semblable
beaf
Messages postés
262
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
26 août 2015
1
6 nov. 2012 à 09:36
6 nov. 2012 à 09:36
j'ai essai avec notepad++, mais sans succès
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
6 nov. 2012 à 19:11
6 nov. 2012 à 19:11
j'ai profondément modifié ton code pour génération d'un fichier excel à partir d'un script php:
<?php //pour excel les header sont ceux la // envoyer le résultat du script dans une feuille Excel header("Content-type: application/vnd.ms-excel"); // nom au fichier Excel $nom_fich_excel='le_nom_que_tu_veux'.'.xls'; header("Content-Disposition: attachment; filename=".$nom_fich_excel); $data = array( array("prenom" => "Mary", "nom" => "Johnson", "age" => 25), array("prenom" => "Amanda", "nom" => "Miller", "age" => 18), array("prenom" => "James", "nom" => "Brown", "age" => 31), array("prenom" => "Patricia", "nom" => "Williams", "age" => 7), array("prenom" => "Michael", "nom" => "Davis", "age" => 43), array("prenom" => "Sarah", "nom" => "Miller", "age" => 24), array("prenom" => "Patrick", "nom" => "Miller", "age" => 27) ); //il vaut mieux generer une table pour afficher dans excel echo '<table>'; $flag = false; foreach($data as $row) { echo '<tr>'; foreach ($row as $key=>$value){ if(!$flag) { // generation titres des colonnes echo '<th>'.$key.'</th>'; }else{ //valeurs de chaque ligne dans les colonnes echo '<td>'.$value.'</td>'; } } //après la première boucle on passe le flag a true pour arreter l'affichage des titres de colonnes $flag = true; echo '</tr>'; } echo '</table>'; ?>