IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[CSV] Pb de declaration de variable


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut [CSV] Pb de declaration de variable
    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

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    $csv_output .= bla bla bla

    Tu concaténes bla bla bla à la valeur de $csv_output, or elle n'est déclarée ni initalisée nulle part auparavant

    Donc marche po !

    $csv_output = bal bla bla

    ou bien

    $csv_output = ''

    $csv_output .= bla bla bla

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci de cette réponse mais lorsque je met $csv_output = à la place de $csv_output .= mon extract en csv ne fonctionne pas correctement et ne me ressort qu'une seule ligne dans Excel...

    $csv_output = ''
    $csv_output .= bla bla bla
    me ressort la même chose...

  4. #4
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Au temps pour moi j'ai répondu à la va vite

    Initialise ta variable avant ta boucle

    et dans la boucle tu la concaténes

    Et voilà tu es sauvé !

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, ca marche !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Declarer une variable d'environement
    Par shaun_the_sheep dans le forum Linux
    Réponses: 2
    Dernier message: 19/10/2005, 12h06
  2. Réponses: 6
    Dernier message: 23/09/2005, 12h54
  3. Problème déclaration de variable dans un package
    Par LE NEINDRE dans le forum Modules
    Réponses: 3
    Dernier message: 23/08/2005, 18h26
  4. Comment déclarer une variable globale
    Par davkick dans le forum C
    Réponses: 13
    Dernier message: 20/05/2005, 18h50
  5. declarer une variable dans le query analyzer
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 29/03/2005, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo