8792 sujets

Développement web côté serveur, CMS

Bonjour,

Je viens vous demander votre aide sur une page en php qui ne fonctionne pas correctement Smiley bawling . 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 :

a écrit :
<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 :

<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 :

<?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. Smiley cligne

Merci d'avance.

skand
Modifié par skand (07 Jul 2006 - 15:25)