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 :
Voici le code source de mon formulaire :<b>Notice</b>: Undefined variable: csv_output in <b>/data/spehli/appel_speV2/csv_top10.php</b> on line <b>13</b><br />
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
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"> % / total </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>
Si l'un d'entre vous pouvais me dire d'ou viens l'erreur., je lui serais reconnaissant.
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; ?>
Merci d'avance.
skand
Partager