Exportation mysql vers excel via php

Résolu
docteurdorian Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
docteurdorian Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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
Configuration: Windows Vista / Firefox 3.5.8

5 réponses

  1. docteurdorian Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
     
    merci alain,

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

    merci encore pour ta patience
    1
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  3. docteurdorian Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
     
    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
  4. docteurdorian Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    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