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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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);
}

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

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