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 :

Stocker chaque valeur d'une boucle [Fait]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Stocker chaque valeur d'une boucle
    bonsoir

    j'ai une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $nbel = mysql_result($req_nbtot,$j,"NBEL");
    for ($j=0 ; $j<$nbtot ; $j++)
    echo "$nbel";
    mon souci : à chaque passage de la boucle la valeur $nbel change

    comment faire pour stocker chaque valeur différente de $nbel pour à la fin sommer toute ces différentes valeurs ?

  2. #2
    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
    Par défaut
    En concatenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for ($j=0 ; $j<$nbtot ; $j++)
    $chaine .= $nbel;
    En utilisant un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for ($j=0 ; $j<$nbtot ; $j++)
    $tableau[] = $nbel;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    comment faire pour remplir le tableau par la variable ?

    je m'explique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $nbel = mysql_result($req_nbtot,$j,"NBEL");
    for ($j=0 ; $j<$nbtot ; $j++)
    echo "$nbel";
    comment faire pour remplir le tableau de la variable $nbel à chaque enregistrement $j parcouru ?

    car jusqu'à maintenant je ne sais remplir les tableau que manuellement : comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau = array(1,2,3,4)
    dans cet exemple : le tableau est crée avec les valeur 1,2,3,4 rentrées manuellement, mais ça n'est pas ce que je veux

  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
    Par défaut
    Il me semble te l'avoir ecrit non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    Pardon mais je n'ai pas bien compris comment ce tableau se remplissait

    Tu n'as pas commenté la syntaxe : ce que ça faisait

    le $tableau on ne le déclare pas ? on ne met rien entre les crochets de $tableau[] ? je ne peux pas, par exemple déclarer un tableau en spécifiant sa dimension (=nombre d'emplacements) : par ex dim4 pour rentrer les chiffres : 1,2,3,4 ? et dans chaque emplacement je stocke la variable ?

    Après je ne suis pas devin : sur le tuto php débutant d'ici ils ne mettent que les tableaux genre : array(1,2,3,4)... bref ceux qu'on remplit à la main : or ça n'est pas utile dans mon cas

    après je suis débutant : je ne maîtrise pas encore le php : le fait que je galère peut paraître difficile à comprendre pour les + expérimentés mais c'est pourtant ainsi
    Dernière modification par Invité ; 18/03/2009 à 22h49.

  6. #6
    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
    Par défaut
    Après je ne suis pas devin
    Certes non c'est bien pour sa que les documentations existent
    http://fr.php.net/manual/fr/language.types.array.php
    Quand on s'attaque a un langage, que ce soit des langages humains ou machines, il faut passer par la syntaxe.

    C'est surement fastidieux au début mais c'est du temps gagné pour apres.

    De la meme facon, connaitre les fonctions est important : quand on veut faire quelque chose en PHP, il faut déjà se demander s'il n'existe pas une fonction qui le fait déjà.
    PHP est très fournie en fonction dans des domaines très variés.

    Si tu es un peu faché avec les documentations et que tu preferes mettre les mains dans la camboui, tu peux aussi simplement prendre le code que j'ai tapé avec mes petits doigts pour toi et regarder ce qu'il fait concrètement.

    je ne peux pas, par exemple déclarer un tableau en spécifiant sa dimension
    en PHP, on ne declare pas les variables et on ne dimensionne pas les tableaux.
    Le tableau a la taille de ce que tu mets dedans.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Invité
    Invité(e)
    Par défaut
    dernière question pour ce soir : comment afficher tous les résultats après ?

    je sais que c'est avec echo, mais après comment utilise-t-on la le tableau crée ?

  8. #8
    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
    Par défaut
    En fait si tu ne dois rien faire de tes elements a part les afficher, autant utiliser la concatenation directement dans ta boucle.

    Un tableau s'est interessant dans la mesure ou tu dois ré-exploiter tes elements.
    Pour afficher un tableau (en dehors de print_r() qui existe plus pour du controle), tu peux soit utiliser une boucle foreach() soit utiliser implode()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonne matinée matinale !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for ($j=0 ; $j<$nbtot ; $j++)
    $tableau[] = $nbel;
    je veux qu'il attrape et qu'il stocke dans des emplacements différents la valeur changeante $nbel : par exemple pour : $j allant de 0 à 3, $nbel prend les valeurs 1,2,3 puis 4 : le tableau stocke par lui-même les valeurs en suivant : comme si c'était fait à la main : array(1,2,3,4), sauf qu'ici c'est fait automatiquement

    en fait je veux faire la somme des valeurs insérées dans le tableau : $somme = 1+2+3+4

    par exemple : avec le code que ci-dessus il faudrait rajouter cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for ($j=0 ; $j<$nbtot ; $j++)
    {
    $tableau[] = $nbel;
    $somme = $tableau[$j] + $tableau [$j + 1]
    }
    ?????????????????????????

    avec $j la valeur d'un emplacement du tableau

    je l'ai fait mais ça n'a pas marché

    j'ai essayé aussi avec array_fill mais ça n'a pas l'air d'être ça
    Dernière modification par Invité ; 19/03/2009 à 09h02.

  10. #10
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Salut Gizmo27,

    Pour ta question ceci devrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    $somme=0;
    $nbel = mysql_result($req_nbtot,$j,"NBEL");
    for ($j=0 ; $j<$nbtot ; $j++)
    {
    $somme .= $nbel+$somme
    }

  11. #11
    Invité
    Invité(e)
    Par défaut
    j'ai fait comme tu as dit et ça n'a pas l'air de fonctionner

    pour attraper et stocker la valeur changeante $nbel à différents emplacements du tableau je fais bien comme ça :
    ?
    Dernière modification par sabotage ; 19/03/2009 à 11h28.

  12. #12
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Arf ! erreur de concaténation

    J'ai écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $somme .= $nbel+$somme
    Alors que la concaténation n'est pas nécessaire.

    Le code suivant fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $tableau = array(1,2,3,4,11,16);
    $somme=0;
    for ($j=0 ; $j<count($tableau) ; $j++)
    {
    $ValTab = $tableau[$j];
    echo "<br>Somme en boucle N°$j: $ValTab + $somme =";
    $somme = $ValTab + $somme;
    echo "$somme<br>\n";
    }
    echo '<br>Somme en fin de boucle : '.$somme."<br>\n";

    Je te laisse étudier ça

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, 09h38
  2. Réponses: 6
    Dernier message: 27/05/2010, 11h48
  3. Réponses: 2
    Dernier message: 14/07/2006, 19h37
  4. Réponses: 8
    Dernier message: 15/06/2006, 19h13
  5. [xsl-fo] Recuperation de valeurs dans une boucle
    Par serwol dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 12/12/2005, 13h13

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