Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1228 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  gérer rubrique et sous rubriques.... avec un For

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

gérer rubrique et sous rubriques.... avec un For

n°254959
xkamui
Their Destiny Was Foreordained
Posté le 27-11-2002 à 12:12:44  profilanswer
 

voilà j'ai quelque chose de ce type :  
 


$R=Array("R1","R2","R3","R4","R5" );
$S=Array(R1=>"S1","S2","S3",R2=>"S1","S2","S3",R3=>"S1",R4=>"S1","S2",R5=>"S1","S2","S3","S4","S5" );


 
et je voudrais les afficher par rubrique, je fais donc ça :  
 

Code :
  1. for ($i=0;$i<count($R);$i++)
  2. {
  3. echo "rub : ".$R[$i]."";
  4. for ($x=0;$x<count($S[$R[$i]]);$x++)
  5.   {
  6.   echo "srub : ".$S[$x]."";
  7.   }
  8. }


 
maintenant, le pb c'est qu'il ne m'écrit rien en sous-rubriques... et je comprend pas pkoi...
 
z'oriez pas une idée ??  [:tilleul]

mood
Publicité
Posté le 27-11-2002 à 12:12:44  profilanswer
 

n°254965
webmaster ​PCPRICE
Posté le 27-11-2002 à 12:17:44  profilanswer
 

Code :
 
  for ($i=0;$i<count($R);$i++)
   {
     echo "rub : ".$R[$i]."";
     
     for ($x=0;$x<count$S[$R[$i]]);$x++)
      {
        echo "srub : ".$S[$x]."";
      }
   }
 
?


Message édité par webmaster PCPRICE le 27-11-2002 à 12:18:03
n°254966
Sh@rdar
Ex-PhPéteur
Posté le 27-11-2002 à 12:18:40  profilanswer
 

parce que $S[0] n'existe pas, tout simplement
 
l'index est R1 R2 etc..  
 
fais plutôt un tableau à trois dimensions


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°254971
xkamui
Their Destiny Was Foreordained
Posté le 27-11-2002 à 12:22:45  profilanswer
 

Sh@rdar a écrit a écrit :

parce que $S[0] n'existe pas, tout simplement
 
l'index est R1 R2 etc..  
 
fais plutôt un tableau à trois dimensions




 
et comment on fait un tablo à 3 dimensions ??

n°254978
xkamui
Their Destiny Was Foreordained
Posté le 27-11-2002 à 12:26:52  profilanswer
 

webmaster PCPRICE a écrit a écrit :

Code :
 
  for ($i=0;$i<count($R);$i++)
   {
     echo "rub : ".$R[$i]."";
     
     for ($x=0;$x<count$S[$R[$i]]);$x++)
      {
        echo "srub : ".$S[$x]."";
      }
   }
 
?




 
euh.... ça marche pô ton truc....  [:poischich]

n°254987
Sh@rdar
Ex-PhPéteur
Posté le 27-11-2002 à 12:35:18  profilanswer
 

pour ton cas faudrait faire ça :
 
$Tableau = array (
  'R'=> Array ( 'R1'=>1,'R2'=>2,'R3'=>3,'R4'=>4,'R5'=>5),
  'S'=> Array  (  
    'S1' =>1,
    'S2' => 0,
    'S3' => 0,  
    'S4' => 3,
  )
);
 
 
tout dépend comment tu génères ton tableau, mais c'est plus simple de prendre le problème à l"envers :
 
parcourir, toutes les sous-catégories et n'afficher que celles qui correspondent à la catégorie parente
 
par exemple
 
foreach ($Tableau['R'] as $Key => $Val) {
  echo ' $Tableau['S']['$Val'];
}


Message édité par Sh@rdar le 27-11-2002 à 12:36:20

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°254994
webmaster ​PCPRICE
Posté le 27-11-2002 à 12:41:18  profilanswer
 

bah le $ est en trop non?

n°255005
ethernal
Chercheur de vérité...
Posté le 27-11-2002 à 12:49:55  profilanswer
 

Citation :

Code :
  1. for ($i=0;$i<count($R);$i++)
  2. {
  3. echo "rub : ".$R[$i]."";
  4. for ($x=0;$x<count($S[$R[$i]]);$x++)
  5.   {
  6.   echo "srub : ".$S[$R[$i]][$x]."";
  7.   }
  8. }



 
le résultat de $S[[$R[$i]] n'est pas un tableau, mais une chaine de caractères séparées par des ','
 
tu dois donc modifier ton tableau sous-rubrique :


$R=Array("R1","R2","R3","R4","R5" );
$S=Array( R1=>array("S1","S2","S3" ),
          R2=>array("S1","S2","S3" ),  
          R3=>array("S1" ),
          R4=>array("S1","S2" ),  
          R5=>array("S1","S2","S3","S4","S5" )
        );


Message édité par ethernal le 27-11-2002 à 12:52:48

---------------
...oups kernel error...
n°255009
ethernal
Chercheur de vérité...
Posté le 27-11-2002 à 12:55:37  profilanswer
 

et ensuite le mieux est d'utiliser la méthode de Shr@dar avec les clés et valeur.  Tu n'as plus besoin que d'un seul tableau.


Message édité par ethernal le 27-11-2002 à 13:45:51

---------------
...oups kernel error...
n°255011
xkamui
Their Destiny Was Foreordained
Posté le 27-11-2002 à 12:58:50  profilanswer
 

Sh@rdar a écrit a écrit :

pour ton cas faudrait faire ça :
 
$Tableau = array (
  'R'=> Array ( 'R1'=>1,'R2'=>2,'R3'=>3,'R4'=>4,'R5'=>5),
  'S'=> Array  (  
    'S1' =>1,
    'S2' => 0,
    'S3' => 0,  
    'S4' => 3,
  )
);
 
 
tout dépend comment tu génères ton tableau, mais c'est plus simple de prendre le problème à l"envers :
 
parcourir, toutes les sous-catégories et n'afficher que celles qui correspondent à la catégorie parente
 
par exemple
 
foreach ($Tableau['R'] as $Key => $Val) {
  echo ' $Tableau['S']['$Val'];
}




 
Euh... j'ai pas tout compris... [:toukc] j'ai même rien compris du tout et ça m'intéresserais de creuser un peu...  [:tilleul]  
 
 

ethernal a écrit a écrit :

Citation :

Code :
  1. for ($i=0;$i<count($R);$i++)
  2. {
  3. echo "rub : ".$R[$i]."";
  4. for ($x=0;$x<count($S[$R[$i]]);$x++)
  5.   {
  6.   echo "srub : ".$S[$R[$i]][$x]."";
  7.   }
  8. }



 
le résultat de $S[[$R[$i]] n'est pas un tableau, mais une chaine de caractères séparées par des ','
 
tu dois donc modifier ton tableau sous-rubrique :


$R=Array("R1","R2","R3","R4","R5" );
$S=Array( R1=>array("S1","S2","S3" ),
          R2=>array("S1","S2","S3" ),  
          R3=>array("S1" ),
          R4=>array("S1","S2" ),  
          R5=>array("S1","S2","S3","S4","S5" )
        );






 
excellent, ça marche nickel !! merci beaucoup !!!  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  gérer rubrique et sous rubriques.... avec un For

 

Sujets relatifs
[htaccess] comment faire gerer les pages "non trouvée"Liste Chainée en java | Gérer le resize [Resolu]
[T. PASCAL]Debutant, la boulce FOR/DOcomment gerer plusieurs espaces ?
Gérer "deux volumes" sur une meme sortie[VBA] Comment gerer les track changes sous Word ??
Par expression régulière ou autre : gérer des masques de saisieUn FOR trop long ??...
probleme pour gerer le temps[php] si vous deviez faire une classe pour gerer un base mysql....
Plus de sujets relatifs à : gérer rubrique et sous rubriques.... avec un For


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR