sql >> Base de Datos >  >> RDS >> Mysql

No se pueden mostrar valores separados por comas en una tabla

Todos tus bucles están mal, por ejemplo

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

El problema aquí es que está sobrescribiendo la variable en cada iteración sin usar is. Lo que esto hace es que terminas con solo el último valor en la variable. También en este caso, su asignación también está al revés. Deberías tener:

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

A menos que estés tratando de hacer algo totalmente diferente, pero de todos modos está mal. Por ejemplo, podría estar intentando actualizar el valor, pero incluso eso no se hace bien.

De todos modos.

Lo que tiene que hacer es dentro del ciclo, debe colocar el HTML que está generando para que pueda generar el valor en cada iteración del ciclo.

Entonces, solo por ejemplo, digamos $des_cc es una matriz como esta:

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

Ahora bien, toma tu bucle

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

echo $rep;

Esto generará

6

Cuál es el último valor asignado a $rep . Ahora si hubiésemos sacado esa variable dentro del ciclo así:

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

Daría como resultado esto (suponiendo que agregamos un retorno de línea):

1
2
3
4
5
6

Lo mismo ocurre si coloca esa variable en su HTML. Espero que tenga sentido.

Algunos otros ejemplos de este error en su código:

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

Y

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

La otra cosa que puede hacer es almacenar esos datos en otra matriz, como esta

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

Este ejemplo básicamente copia la matriz en $rep un elemento a la vez. No creo que eso sea lo que quieres, solo lo menciono para completar.