Todos os seus loops estão errados, por exemplo
foreach($des_cc as $out) {
$out = $rep;
}
O problema aqui é que você está sobrescrevendo a variável em cada iteração sem usar is. O que isso faz é que você acaba com apenas o último valor na variável. Também neste caso, sua atribuição também está para trás. Você devia ter:
foreach($des_cc as $out) {
$rep = $out;
}
A menos que você esteja tentando fazer algo totalmente diferente, mas independentemente disso está errado. Por exemplo, você pode estar tentando atualizar o valor, mas mesmo assim não é feito corretamente.
Qualquer maneira.
O que você precisa fazer é dentro do loop, você precisa colocar o HTML que você está gerando para que possa gerar o valor em cada iteração do loop.
Então, apenas como exemplo, digamos
$des_cc
é uma matriz assim:$des_cc = [1,2,3,4,5,6];
Agora bem, pegue seu loop
foreach($des_cc as $out) {
$rep = $out;
}
echo $rep;
Isso vai sair
6
Qual é o último valor atribuído a
$rep
. Agora, tínhamos gerado essa variável dentro do loop assim:foreach($des_cc as $out) {
$rep = $out;
echo $rep;
}
Ele produziria isso (supondo que adicionamos um retorno de linha):
1
2
3
4
5
6
O mesmo vale se você colocar essa variável em seu HTML. Espero que isso faça sentido.
Alguns outros exemplos desse erro em seu código:
while($rowdes=mysql_fetch_array($sqdes)){
$desid = $rowdes['designation'];
}
E
while($rowdes2=mysql_fetch_array($sqdes2))
{
$desid2 = $rowdes2['reporting_head'];
$reportingheadid = $rowdes2['designation_id'];
}
A outra coisa que você pode fazer é armazenar esses dados em outro array, como este
$rep = []
foreach($des_cc as $out) {
$rep[] = $out;
}
Este exemplo basicamente copia o array em
$rep
um elemento de cada vez. Eu não acho que é isso que você quer, eu só mencionei isso para completar.