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 :

[Tableaux] problème de boucle


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Points : 14
    Points
    14
    Par défaut [Tableaux] problème de boucle
    bonjour à tous alors voila mon soucis :

    j ai creer une fonction qui insere une valeur ds un tableau a une ligne et une colonne spécifique jusqui ici rien de lourd! de la maniere suivante:
    $tab->ajoutValeur(1,2 $result[0])// insere la valeur de $result[0]à la ligne 1 colonne 2

    En fait, je voudrais pouvoir insérer les éléments d une requete qui donne un tableau de resulats dans un tableau à 3 lignes et 6 colonnes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    while ($result = $bdd->tableauSuivant($res)) {	
    	for ($z=0;$z<3;$z++){
    	  for($i=1; $i<=3;$i++){		
    	     for($j=1;$j<$cptColonne; $j++){
     
    	$tab->ajoutValeur($i,$j, $result[$z]);
    									     }
        }
    }
     
    }
    le pb est que mon tableau va afficher les résulats suivants 0,0,0,0,0,0
    Théoriquement si on fait qu 'un echo $result[0] il affiche : 0,64,30,121,258,473 (g mis d virgules qui n apparaissent pas pr mettre en évidence le tableau des résultats)
    Je voudrais qu il m insére ds mon tableau pour chaque valeur de $result[0] dans mon tableau


    Merci à vous

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Le premier résultat ira dans la première ligne première colonne j'imagine. Où va aller le deuxième résultat ? première colonne / deuxième colonne ou deuxieme ligne / première colonne ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    le premier résultat ira dans la premiere premiere colonne oui c a d :

    $tab->ajoutValeur(1,1, 0);
    $tab->ajoutValeur(1,2, 64); pour le deuxieme résultat
    $tab->ajoutValeur(1,3, 30);pour le troisieme etc...



    Sachant que ces valeurs (0,64,30,121,258,473) correspondent à un meme indice de tableau de resulats : $result[0]

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Pourquoi tu utilises pas $result[0] au lieu de $result[$z] ?
    C'est quoi $z ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    $z c'est une variable qui me serre à incrémenter l indice je t explique je dois stocker chaque valeurs contenus dans $result[0] sur la premiere ligne et chaque valeurs de $result[1] sur la deuxième ligne et enfin chaque valeurs de $result[2] sur la troisieme ligne .

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Plutot comme ca je dirai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $ligne = 0;
    // pour chaque ligne du résultat
    while ($result = $bdd->tableauSuivant($res)) 
    {	
    	$nbcolonnes	= count($result);
    	// pour chaque colonne
    	for($colonne = 0 ; $colonne < $nbcolonnes ; $colonne++)
    	{						
    		$tab->ajoutValeur($ligne,$colonne, $result[$colonne]);
    	}
    	$ligne++; // prochaine ligne		
    }
    ?>

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    oui sauf que les colonnes des résulats que tu comptes correspondent aux lignes de mon tableau si tu veux c'est inversé ya donc 3 colonnes de résultats ($result[0], $result[1], $result[2]) qui contiennent chaqu' une 6 valeurs(ex: pour $result[0] : 0,64,30,121,258,473) que je veux insérer dans mon tableau

  8. #8
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    bah suffit d'inverser les indices...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php 
    $ligne = 0; // pour chaque ligne du résultat 
    while ($result = $bdd->tableauSuivant($res)) 
    { 
      $nbcolonnes = count($result); 
      // pour chaque colonne  
      for($colonne = 0 ; $colonne < $nbcolonnes ; $colonne++)  
      { 
      $tab->ajoutValeur($colonne,$ligne, $result[$colonne]); 
      }  
      $ligne++; // prochaine ligne 
    } 
    ?>

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    je voudrais donc insérer les valeurs 0,64,30, etc..
    (correspondant à $result[0]) sur le premiere ligne de mon tableau
    et les valeurs contenu dans $result[1] dans la seconde ligne de mon tableau

    etc...

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    lorenbarre, je comprends rien à tes explications...

    Mais je proposerais la meme chose que koopajah (sauf qu'au lieu d'inverser, j'aurais plutot renommé)

  11. #11
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par Mr N.
    lorenbarre, je comprends rien à tes explications...

    Mais je proposerais la meme chose que koopajah (sauf qu'au lieu d'inverser, j'aurais plutot renommé)
    Oui vaut mieux renommer mais bon je vais pas tout faire non plus... J'avoue que les explications sont tout sauf claires.

    En gros, ce qu'il veut c'est transformer le résultat d'une requete à une BDD. Il veut passer d'un tableau du type "chaque ligne du tableau est une ligne résultat de ma requete et chaque colonne du tableau correspond aux champs de ma requete" a "chaque ligne de mon tableau est un des champs résultats de ma requete et chaque colonne correspond à une ligne résultat".
    Quelquechose de ce gout la (en gros passer un tableau lignesXcolonnes en un tableau colonnesXlignes)

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    merci de votre aide c bon je crois que j ai compris

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

Discussions similaires

  1. [Tableaux] problème de boucle
    Par circajet7 dans le forum Langage
    Réponses: 2
    Dernier message: 26/04/2007, 22h18
  2. [Tableaux] Problème de boucle et d'affichage
    Par Frenken dans le forum Langage
    Réponses: 8
    Dernier message: 30/06/2006, 19h17
  3. [Tableaux] Probléme de boucle !!
    Par Shandler dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2006, 19h16
  4. Réponses: 3
    Dernier message: 11/01/2006, 18h44
  5. [Tableaux] Problème avec boucle
    Par MYster dans le forum Langage
    Réponses: 6
    Dernier message: 11/11/2005, 19h39

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