Exportation mysql vers excel via php

Résolu/Fermé
docteurdorian Messages postés 4 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010 - 22 févr. 2010 à 10:05
docteurdorian Messages postés 4 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010 - 22 févr. 2010 à 13:21
Bonjour,

j'ai utilisé ce code trouvé sur le forum :

<?php

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=stat.xls");

mysql_select_db($database_affectation, $affectation);
$query_Recordset1 = "SELECT * FROM demande_balisage";
$Recordset1 = mysql_db_query($query_Recordset1, $affectation);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalrow_Recordset1 = mysql_num_rows($Recordset1);


$tbl= " <table border='0' cellpadding='0' cellspacing='0'>
<tr bgcolor='#CCCCCC' height='40px'>
<td>employe</td>
<td>rayon</td>
<td>famille</td>
<td>date</td>
</tr>";
do {
$tbl = $tbl . "<tr>";
$tbl = $tbl . "<td>" . $row_Recordset1['employe'] . "</td>";
$tbl = $tbl . "<td>" . $row_Recordset1['rayon'] . "</td>";
$tbl = $tbl . "<td>" . $row_Recordset1['famille'] . "</td>";
$tbl = $tbl . "<td>" . $row_Recordset1['date'] . "</td>";
$tbl = $tbl . "</tr>";
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$tbl = $tbl . "</table>";

print $tbl ;

?>

et j'obtiens cette erreur dans mon fichier excel

"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 3.0\www\BALISAGE\statperso.php on line 11"

3 fois ce message concernant les lignes 11, 12 et 28

ou est mon erreur?

merci
A voir également:

5 réponses

docteurdorian Messages postés 4 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010 1
22 févr. 2010 à 13:21
merci alain,

c'était une erreur de ligne vide avec la déclaration des headers

merci encore pour ta patience
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
22 févr. 2010 à 10:23
si tu as cette erreur c'est que l'argument passé a cette fonction n'est pas ok, donc il y a un pb sur la requette


mysql_select_db($database_affectation, $affectation);
$query_Recordset1 = "SELECT * FROM demande_balisage";
$Recordset1 = mysql_db_query($query_Recordset1, $affectation);


ou est la connexion au serveur ?

fais plutôt comme ça:
//tes codes de connexion
$host=".......";
$login=".......";
$pass="........";
//nom de la base
$database_affectation="..........";

$cnx=mysql_connect($host,$login,$pass) or die ("pb connection serveur ".mysql_error());
$db=mysql_select_db($database_affectation) or die ("pb selection base ".mysql_error());
$query_Recordset1 = "SELECT * FROM demande_balisage";
$Recordset1 = mysql_query($query_Recordset1) or die ("pb requette ".mysql_error()); //tu as deja selectionne la base donc mysql_query suffit 
0
docteurdorian Messages postés 4 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010 1
22 févr. 2010 à 10:35
merci beaucoup alain

je venais de trouver l'erreur dans le code :

il fallait :
$Recordset1 = mysql_query($query_Recordset1, $affectation);

et non:
$Recordset1 = mysql_db_query($query_Recordset1, $affectation);

pour te répondre ma connexion au serveur est dans un fichier séparé appelé par l'instruction
<?php require_once('Connections/balis.php'); ?>

merci encore
0
docteurdorian Messages postés 4 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010 1
22 févr. 2010 à 11:00
tout fonctionne bien en local (avec easyphp)

mais en testant chez mon hébergeur j'obtiens ce message d'erreur :

Warning: Cannot modify header information - headers already sent by (output started at /home/5078/public_html/BALISAGE/statperso.php:3) in /home/5078/public_html/BALISAGE/statperso.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /home/5078/public_html/BALISAGE/statperso.php:3) in /home/5078/public_html/BALISAGE/statperso.php on line 6

ensuite mon tableau s'affiche sur la page internet.

d'ou vient le problème cette fois?

merci
0

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
22 févr. 2010 à 11:36
verifies bien que avant :

<?php

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=stat.xls"); 


tu n'ai aucune ligne vide aucun espace

et vérifie aussi que ton script soit bien au format UN IX (regardes dans ton editeur) et pas windows
0