Bonjour,

Je viens vous demander votre aide sur une page en php qui ne fonctionne pas correctement . Je souhaite faire une extract CSV a partir d'une requete sql.

L'extract fonctionne correctement, les données apparaissent bien dans le tableau Excel comme je lui demande mais cette ligne apparait avant la premiere ligne de mon tableau :

<b>Notice</b>: Undefined variable: csv_output in <b>/data/spehli/appel_speV2/csv_top10.php</b> on line <b>13</b><br />
Voici le code source de mon formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<form method="POST" action="csv_top10.php" name="top10">
<table class="testOff" id="tab9">
  <tr class="tr5">
    <td colspan="3"><font class="font5" ID="spe">TOP 10 des appels :</font></td>
  </tr>
  <tr class="tr2">
    <td class="td2"><font class="font2">Typologie</font></td>
    <td class="td2"><font class="font2">Total enregistrement</font></td>
    <td class="td2"><font class="font2">&nbsp;% / total&nbsp;</font></td>
  </tr>
          <?php
           if ( mysql_num_rows($req=mysql_query("SELECT typo, COUNT(*) as cumul FROM result WHERE date >='".$date_debut1."' AND date <='".$date_fin1."' GROUP BY typo ORDER BY cumul DESC, typo ASC LIMIT 10")));
            {
             while ($ent=mysql_fetch_array($req))
             {
              $all=mysql_query("SELECT COUNT(typo) as tot FROM result WHERE date >='".$date_debut1."' AND date <='".$date_fin1."'");
              $all2= mysql_fetch_array($all);
              echo "<tr class='tr4'><td>".$ent["typo"]."</td><td>".$ent["cumul"]."</td><td>".substr($ent["cumul"]/$all2["tot"]*(100), 0, 4)."%</tr>";
             }
            }
          ?>
           <input type="hidden" value="<?php echo "$date_debut1"; ?>" name="date_debut1">
           <input type="hidden" value="<?php echo "$date_fin1"; ?>" name="date_fin1">
  <tr class="tr2">
    <td class="td2" colspan="3"><input type="submit" value="Extract en CSV"></td>
  </tr
</table>
</form>
Et voici maintenant le code de ma page d'extract csv :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
require 'config.php';
 
$date_debut1 = $_POST['date_debut1'];
$date_fin1 = $_POST['date_fin1'];
 
if ( mysql_num_rows($req=mysql_query("SELECT typo, COUNT(*) as cumul FROM result WHERE date >='".$date_debut1."' AND date <='".$date_fin1."' GROUP BY typo ORDER BY cumul DESC, typo ASC LIMIT 10")));
            {
             while ($ent=mysql_fetch_array($req))
             {
              $all=mysql_query("SELECT COUNT(typo) as tot FROM result WHERE date >='".$date_debut1."' AND date <='".$date_fin1."'");
              $all2= mysql_fetch_array($all);
              $csv_output .= "".$ent["typo"].",".$ent["cumul"].",".substr($ent["cumul"]/$all2["tot"]*(100), 0, 4)."%,\n";
             }
            }
 
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=top10_" . date("dM").".csv");
print $csv_output;
exit;
?>
Si l'un d'entre vous pouvais me dire d'ou viens l'erreur., je lui serais reconnaissant.

Merci d'avance.

skand