foreach문이 돌때마다 정보가 바뀌었으면 좋겠어요.

foreach문이 돌때마다 정보가 바뀌었으면 좋겠어요.

QA

foreach문이 돌때마다 정보가 바뀌었으면 좋겠어요.

본문

안녕하세요 질문이 있어서 글을 올려 봅니다. 

제가 지금 아래와 같이 만들었는데요, foreach문이 돌때마다 $daily[$i]; 이 매번 달라 졌으면 좋겠는데 지금은 계속 동일하게 나옵니다. controller쪽을 여러번 바꿔보고 있는데 마땅히 좋은 방법이 떠오르지 않아 질문글 올려 봅니다. 감사합니다~~1794555495_1632811169.7853.png

 

view


<?php
foreach ($posting as $detail) {
    if ($detail->posting_type == 0) {
        ?>
<tr>
            <input  type="hidden" name="posting_type[]" value="0">
            <td><input  type="hidden" name="report_day[]" value="<?=$detail->report_day?>"><?=$detail->report_day?>일</td>
            <td><input  type="hidden" name="hospital_id[]" value="<?=$detail->hospital_id?>"><?=$detail->hosp_name?></td>
            <td name="last_month"><input  type="hidden" name="last_month[]" value="<?=$detail->last_month?>"><?=$detail->last_month?>개</td>
            <td name="total"><input  type="hidden" name="total" value="<?=$detail->total?>"><?=$detail->total?>개</td>
             <?     for($i=0;$i<$maxDay;$i++){     ?>
             <td name="posting_day"><?php echo $daily[$i]; ?>
             </td>
            <?        }            ?>
            <td name="last_month"><?=$detail->last_month?>개</td>
        </tr>
<?php
    } //if
} //foreach
?>
 

 

 

controller


$arr = array();
     for($i=0; $i<5; $i++){
       $arr[$i] = rand(1, $maxDay);
                                                         $nalja9 = "$thisY-$thisM-$arr[$i]";
                                                        $yoeil = date('w' , strtotime($nalja9) );
                                                    if($yoeil==0||$yoeil==6){
                                                    //    print_r('   주말                '); 
                                                        $i--;
                                                        continue;
                                                        }
       for($j=0; $j<$i; $j++)
       {
         if($arr[$i] == $arr[$j])
         {
           $i--;
           break;
         }
       }  
     }
    sort($arr);

$result=array();
                for($day=1; $day<=$maxDay;$day++){  
                         if(in_array($day, $arr)){
                            array_push($result, "1");
                          } else {
                            array_push($result, "");
                          }
                }
 
    $data['daily'] = $result;
     $this->load->view('posting',$data);
 

이 질문에 댓글 쓰기 :

답변 1

view 에서 $daily값 선언이 보이지 않고 

controller 쪽에서 $data 에 배열선언이 보이지 않네요

 

1. 컨트롤러 $data변수 확인 (제대로 들어가있는지 확인)

2. array_push 로 daily 를 넣었으면 view 에서도 $detail-> daily 형태로 뿌려주기

순서대로 디버깅 해보시기 바랍니다

 

 

 

넵!! 답변 감사드려요!! 우선 지금 controller에서 원하는 만큼 담긴거 확인했고 view에 알맞게 정보를 전달해서  보여주기만 하면 되는 상황입니다. 그런데 지금 그 부분이 잘되는 상황인데 혹시 도움 좀 주실수 있을까요..? 바쁘시면,, 그냥 패스하셔도 됩니다. 감사합니다~~

view


//여기 foreach 써보고 있는데 잘 되지 않네요,,, 
         <?	for($i=0;$i<30;$i++){     ?> 
          <td><?php echo $daily[$i]; ?> </td>  
           <?        }   ?> 


//컨트롤러는 거의 동일합니다..

for($t=0;$t<2;$t++){ 
	$arr[] = array();
	 for($i=0; $i<5; $i++){
	   $arr[$i] = rand(1, $maxDay);
														 $nalja9 = "$thisY-$thisM-$arr[$i]";
														$yoeil = date('w' , strtotime($nalja9) );

													if($yoeil==0||$yoeil==6){
													//	print_r('   주말                '); 
														$i--;
														continue;
														}

	   for($j=0; $j<$i; $j++)
	   {
		 if($arr[$i] == $arr[$j])
		 {
		   $i--;
		   break;
		 }
	   }  
	 }
	sort($arr);
//array_push($arr,$arr[$t]);

	//print_r($arr);



$result=array();
				for($day=1; $day<=$maxDay;$day++){  
						 if(in_array($day, $arr)){
							array_push($result, "1");
						  } else {
							array_push($result, "");
						  }
				}
					print_r($result);
}

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT