Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible d'afficher des valeurs séparées par des virgules dans un tableau

Toutes vos boucles sont fausses, Par exemple

foreach($des_cc as $out) {
   $out = $rep; 
}

Le problème ici est que vous écrasez la variable à chaque itération sans utiliser is. Ce que cela fait, c'est que vous vous retrouvez avec seulement la dernière valeur dans la variable. Dans ce cas également, votre affectation est également à l'envers. Vous devriez avoir :

foreach($des_cc as $out) {
   $rep = $out; 
}

À moins que vous n'essayiez de faire quelque chose de totalement différent, mais peu importe, c'est faux. Par exemple, vous pourriez essayer de mettre à jour la valeur, mais même cela n'est pas fait correctement.

Quoi qu'il en soit.

Ce que vous devez faire est à l'intérieur de la boucle, vous devez mettre le code HTML que vous produisez afin de pouvoir générer la valeur à chaque itération de la boucle.

Donc, juste à titre d'exemple, disons $des_cc est un tableau comme celui-ci :

$des_cc = [1,2,3,4,5,6];

Maintenant bien prends ta boucle

foreach($des_cc as $out) {
   $rep = $out; 
}

echo $rep;

Cela affichera

6

Quelle est la dernière valeur attribuée à $rep . Maintenant, avions-nous sorti cette variable à l'intérieur de la boucle comme ceci :

foreach($des_cc as $out) {
   $rep = $out; 
   echo $rep;
}

Cela donnerait ceci (en supposant que nous ayons ajouté un retour de ligne) :

1
2
3
4
5
6

La même chose est vraie si vous mettez cette variable dans votre HTML. J'espère que cela a du sens.

Quelques autres exemples de cette erreur dans votre code :

while($rowdes=mysql_fetch_array($sqdes)){ 
    $desid =  $rowdes['designation'];
} 

ET

while($rowdes2=mysql_fetch_array($sqdes2))
{ 
    $desid2 =  $rowdes2['reporting_head'];
    $reportingheadid = $rowdes2['designation_id'];
} 

L'autre chose que vous pouvez faire est de stocker ces données dans un autre tableau, comme celui-ci

 $rep = []
 foreach($des_cc as $out) {
    $rep[] = $out; 
 }

Cet exemple copie essentiellement le tableau dans $rep un élément à la fois. Je ne pense pas que ce soit ce que vous vouliez, je ne le mentionne que pour être complet.