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] Boucle et array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 98
    Par défaut [Tableaux] Boucle et array
    Bonjour à tous, voici mon problème:

    Je construis ma variable $chainetotal au moyen d'une boucle. Je souhaite ensuite exploiter cette variable comme un array.
    Lorsque je fais:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $chainetotal = array("13"=>"1","0"=>"10","0"=>"9","4"=>"11","0"=>"12"); 
    krsort($chainetotal);
    foreach ($chainetotal as $key => $val) {    
    echo "$key = $val\n";
    }

    ... tout fonctionne très bien.


    Par contre, lorsque je fais ce qui suit, cela ne me renvoit rien du tout. Pourtant, echo $chainetotal me renvoit exactement le même array qu'au dessus...

    Code php : 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
     
    $query = "SELECT * FROM $table_people WHERE equipe='" . $equipe . "' or equipe='12'";
     
    $result = mysql_query($query);
     
    $nb = mysql_numrows($result);
     
    $chainetotal = "array(";
     
     
    $i=0;
    while ($i < $nb) { 
    	$id = mysql_result($result,$i,"id");
     
     
    	$totalptmaillon[$id] = $ptmaillon1[$id] + $ptmaillon2[$id] + $ptmaillon3[$id];
     
     
    	if ($i == $nb - 1) {
    	$chainetotal .= "\"$totalptmaillon[$id]\"=>\"$id\"";
    	} else {
    	$chainetotal .= "\"$totalptmaillon[$id]\"=>\"$id\",";
    	}
     
     
    $i++;
    }
    $chainetotal .= ");";
     
    // echo $chainetotal donne: array("13"=>"1","0"=>"10","0"=>"9","4"=>"11","0"=>"12"); 
     
    krsort($chainetotal);
    foreach ($chainetotal as $key => $val) {    
    echo "$key = $val\n";
    }

    ... En fait dans ce cas ci je pense que krsort considère $chainetotal comme un texte quelconque...

    Qqn a une idée ?

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Effectivement ce que tu construis la c'est une chaine de caractères pas un tableau du tout. Peut-etre qu'en utilisant eval() ca fonctionnerait vu que ca te permettrait d'exécuter le code php contenu dans ta chaine mais ca n'est pas top.

    un tableau en PHP ca se crée comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0; $i<10 ; $i++)
    {
    $montab['macle'.$i] = $i;
    }
    EDIT:en adaptant ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $i=0;
    while ($i < $nb) 
    { 
      $id = mysql_result($result,$i,"id");
      $totalptmaillon[$id] = $ptmaillon1[$id] + $ptmaillon2[$id] + $ptmaillon3[$id];
      $chainetotal[$totalptmaillon[$id]] = $id;
      $i++;
    }

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 98
    Par défaut
    Merci pour ta réponse rapide!

    eval() ne fonctionne pas.
    Peux-tu être plus explicite quant à ta 2e proposition ?

    EDIT: Posté avant ton EDIT

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 98
    Par défaut
    Super ça marche!

    Merci pour ton aide!

    Problème résolu en 4 min sur devellopez.net

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

Discussions similaires

  1. [Tableaux] boucle while
    Par dafalri dans le forum Langage
    Réponses: 8
    Dernier message: 24/02/2006, 10h52
  2. [Tableaux] Boucle dans une boucle
    Par spawns dans le forum Langage
    Réponses: 2
    Dernier message: 12/02/2006, 13h11
  3. [Tableaux] boucle for et instruction continue
    Par reg11 dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2005, 18h00
  4. [Tableaux] Gérer une array...
    Par kult dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h03
  5. [Tableaux] Boucle while imbriquer
    Par Le-Cortex dans le forum Langage
    Réponses: 11
    Dernier message: 09/09/2005, 14h22

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