Tất cả các vòng lặp của bạn đều sai, Ví dụ:
foreach($des_cc as $out) {
$out = $rep;
}
Vấn đề ở đây là bạn đang ghi đè biến trên mỗi lần lặp mà không sử dụng is. Điều này làm là cuối cùng bạn chỉ có giá trị cuối cùng trong biến. Cũng trong trường hợp này, bài tập của bạn cũng bị ngược. Bạn nên có:
foreach($des_cc as $out) {
$rep = $out;
}
Trừ khi bạn đang cố gắng làm một điều gì đó hoàn toàn khác, nhưng bất chấp điều đó là sai. Ví dụ:bạn có thể đang cố gắng cập nhật giá trị, nhưng ngay cả khi nó vẫn chưa được thực hiện đúng.
Dù sao.
Những gì bạn phải làm là bên trong vòng lặp, bạn cần đặt HTML mà bạn đang xuất để bạn có thể xuất giá trị trên mỗi lần lặp lại của vòng lặp.
Vì vậy, chỉ để làm ví dụ, hãy nói $des_cc
là một mảng như thế này:
$des_cc = [1,2,3,4,5,6];
Bây giờ hãy bắt đầu vòng lặp của bạn
foreach($des_cc as $out) {
$rep = $out;
}
echo $rep;
Điều này sẽ xuất ra
6
Giá trị cuối cùng được gán cho $rep
. Bây giờ chúng ta đã xuất biến đó bên trong vòng lặp như thế này:
foreach($des_cc as $out) {
$rep = $out;
echo $rep;
}
Nó sẽ xuất ra cái này (giả sử chúng ta đã thêm một dòng trả về):
1
2
3
4
5
6
Điều này cũng đúng nếu bạn đặt biến đó vào HTML của mình. Hy vọng điều đó có ý nghĩa.
Một vài ví dụ khác về lỗi này trong mã của bạn:
while($rowdes=mysql_fetch_array($sqdes)){
$desid = $rowdes['designation'];
}
VÀ
while($rowdes2=mysql_fetch_array($sqdes2))
{
$desid2 = $rowdes2['reporting_head'];
$reportingheadid = $rowdes2['designation_id'];
}
Điều khác bạn có thể làm là lưu trữ dữ liệu đó vào một mảng khác, như thế này
$rep = []
foreach($des_cc as $out) {
$rep[] = $out;
}
Ví dụ này về cơ bản sao chép mảng vào $rep
một phần tử tại một thời điểm. Tôi không nghĩ đó là điều bạn muốn, tôi chỉ đề cập đến nó cho đầy đủ.