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 :

Incrémenter un Array par une boucle While


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 132
    Points : 73
    Points
    73
    Par défaut Incrémenter un Array par une boucle While
    Bonjour,
    j'ai donc un petit problème d'array sur une boucle while j'ai essayé plusieurs solution mais cela na rien donné de concluant, c'est pour cela que je sollicite votre aide .
    Je cherche donc à récupérer une liste d'inscrit dans la BDD et l'incrémenté en array pour en sortir un jolie tableau en .CSV. donc jusque la sa fonctionne mais le problème c'est qu'il ne m'affiche que la dernière entrée, et pas les autres, et je coince un peu sur l'array.

    en gros je voudrais qu'il me face ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     array('Nom;', 'Prenom;', 'Date;', 'Telephone;', 'Email;', 'Pré-inscription;', 'Commentaire;'),
     array(Dupont,Tintin,blabla,blabla,blbla,blabla ,blabla)
     array(Pierre,Paul,blabla,blabla,blbla,blabla ,blabla)
     array(Jack, LE poulpe, blabla,blabla,blbla,blabla ,blabla)
    mais j'obtiens que sa dans mon CSV (bien sur sans les array, etc... juste les textes ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     array('Nom;', 'Prenom;', 'Date;', 'Telephone;', 'Email;', 'Pré-inscription;', 'Commentaire;'),
     array(Jack, LE poulpe, blabla,blabla,blbla,blabla ,blabla)
    Voici donc mon code actuel :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    $num_requete = mysql_query("SELECT * FROM br_insc") or die (mysql_error());
    $nb = mysql_num_rows($num_requete);
     
    echo "Il y a ".$nb;
     if ($nb<'2') { $inscrit=' inscrit'; } 
     else  { $inscrit=' inscrits'; }
    echo $inscrit;
     echo '<br /><br />';		   
     
    $reponse = mysql_query("SELECT * FROM WebIllusion_insc") or die (mysql_error());
    while($donnees = mysql_fetch_array($reponse)){ 
     
     
    $nom= $donnees['nom'];
    $prenom= $donnees['prenom'];
    $pseudo= $donnees['pseudo'];
    $date1 = $donnees['date1'];
    $date2 = $donnees['date2'];
    $date3 = $donnees['date3'];
    $email = $donnees['email'];
    $tel=$donnees['tel'];
    $com=$donnees['com'];
    $valide=$donnees['valide'];
     
    $date = $date1."/".$date2."/".$date3;
     
    $nom_a=$nom.';';
    $prenom_a=$prenom.';';
    $pseudo_a=$pseudo.';';
    $date_a=$date.';';
    $tel_a=$tel.';';
    $email_a=$email.';';
    $com_a=$com.';';
     
    if ($valide_a=='oui') {$v="V;";} else {$v_a="X;";}   
     
     
    $data = array(
     array('Nom;', 'Prenom;', 'Date;', 'Telephone;', 'Email;', 'Pré-inscription;', 'Commentaire;'),
     array($nom_a,$prenom_a,$date_a,$tel_a,$email_a,$v_a ,$com_a)
     );
     
    if ($f = @fopen('inscrit.csv', 'w+')) {
     foreach ($data as $ligne) {
       fputcsv($f, $ligne);
       }
     fclose($f);
     }
    else {
     echo "Impossible d'acc&eacute;der au fichier.";
     }
     
    }
    mysql_close();
    MErci d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    Je n'ai pas optimaliser ton code, mais ceci devrais mieux fonctionner

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
    <?php
    $num_requete = mysql_query("SELECT * FROM br_insc") or die (mysql_error());
    $nb = mysql_num_rows($num_requete);
     
    echo "Il y a ".$nb;
     if ($nb<'2') { $inscrit=' inscrit'; } 
     else  { $inscrit=' inscrits'; }
    echo $inscrit;
     echo '<br /><br />';		   
     
    $reponse = mysql_query("SELECT * FROM WebIllusion_insc") or die (mysql_error());
     
    $data = array(
     array('Nom;', 'Prenom;', 'Date;', 'Telephone;', 'Email;', 'Pré-inscription;', 'Commentaire;'),
     );
     
    while($donnees = mysql_fetch_array($reponse)){ 
     
     
    $nom= $donnees['nom'];
    $prenom= $donnees['prenom'];
    $pseudo= $donnees['pseudo'];
    $date1 = $donnees['date1'];
    $date2 = $donnees['date2'];
    $date3 = $donnees['date3'];
    $email = $donnees['email'];
    $tel=$donnees['tel'];
    $com=$donnees['com'];
    $valide=$donnees['valide'];
     
    $date = $date1."/".$date2."/".$date3;
     
    $nom_a=$nom.';';
    $prenom_a=$prenom.';';
    $pseudo_a=$pseudo.';';
    $date_a=$date.';';
    $tel_a=$tel.';';
    $email_a=$email.';';
    $com_a=$com.';';
     
    if ($valide_a=='oui') {$v="V;";} else {$v_a="X;";}   
     
     
    $data[] =  array($nom_a,$prenom_a,$date_a,$tel_a,$email_a,$v_a ,$com_a);
     
    }
     
    if ($f = @fopen('inscrit.csv', 'w+')) {
     foreach ($data as $ligne) {
       fputcsv($f, $ligne);
       }
     fclose($f);
     }
    else {
     echo "Impossible d'acc&eacute;der au fichier.";
     }
    mysql_close();
    ?>

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 132
    Points : 73
    Points
    73
    Par défaut
    Bah je suis entrain de regardé et d'essayé de bidouillé car sa marche pas correctement alors que tout est ok dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data[] =  array($nom_a,$prenom_a,$date_a,$tel_a,$email_a,$v_a ,$com_a);
    donc pour le moment j'ai deux entrée dans ma bdd, je reprend la façon de présenter comme mon message précédant

    donc ce que j'aimerais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     array('Nom;', 'Prenom;', 'Date;', 'Telephone;', 'Email;', 'Pré-inscription;', 'Commentaire;'),
    array($nom_a,$prenom_a,$date_a,$tel_a,$email_a,$v_a ,$com_a); // entrée 1
    array($nom_a,$prenom_a,$date_a,$tel_a,$email_a,$v_a ,$com_a);// entrée 2
    et ce que j'ai avec ta facon de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     array('Nom;', 'Prenom;', 'Date;', 'Telephone;', 'Email;', 'Pré-inscription;', 'Commentaire;'),
    array($nom_a,$prenom_a,$date_a,$tel_a,$email_a,$v_a ,$com_a); // entrée 1
    array($com_a);// entrée 2
    Ya du largement mieux j'ai les deux entrée :p mais qu'une partie de la seconde o_O, donc si je trouve un moyen je repostrais à la suite, am oins que tu trouve avant moi lool
    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne devrais pas comme ca utiliser des variables intermediaires, cela alourdit ton code :
    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
    29
    30
     
    <?php
    $data = array(
     array('Nom', 'Prenom', 'Date', 'Telephone', 'Email', 'Pré-inscription', 'Commentaire'),
     );
     
    $reponse = mysql_query("SELECT * FROM WebIllusion_insc");
     
    while($donnees = mysql_fetch_array($reponse)){ 
     
         $date = $donnees['date1']."/".$donnees['date2']."/".$donnees['date3'];
     
         if ($donnees['valide']=='oui') {$v="V;";} else {$v_a="X;";}   
     
     
         $data[] = array($donnees['nom'],$donnees['prenom'],$date,$donnees['tel'],$donnees['email'],$v, $donnees['com']);
     
    }
     
    if ($f = fopen('inscrit.csv', 'w+')) {
     foreach ($data as $ligne) {
       fputcsv($f, $ligne,';');
       }
     fclose($f);
     }
    else {
     echo "Impossible d'accéder au fichier.";
     }
    mysql_close();
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Changer les valeurs de textbox à chaque incrément d'une boucle while
    Par cclleemmeenntt dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 31/03/2015, 08h38
  2. Réponses: 6
    Dernier message: 27/05/2010, 10h48
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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