foreach문이 돌때마다 정보가 바뀌었으면 좋겠어요. 채택완료
안녕하세요 질문이 있어서 글을 올려 봅니다.
제가 지금 아래와 같이 만들었는데요, foreach문이 돌때마다 $daily[$i]; 이 매번 달라 졌으면 좋겠는데 지금은 계속 동일하게 나옵니다. controller쪽을 여러번 바꿔보고 있는데 마땅히 좋은 방법이 떠오르지 않아 질문글 올려 봅니다. 감사합니다~~
view
</strong></p>
<p><?php</p>
<p>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
?></p>
<p><strong>
controller
</strong></p>
<p>$arr = array();
for($i=0; $i<5; $i++){
$arr[$i] = rand(1, $maxDay);
$nalja9 = "$thisY-$thisM-$arr[$i]";
$yoeil = date('w' , strtotime($nalja9) );</p>
<p> if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}</p>
<p> for($j=0; $j<$i; $j++)
{
if($arr[$i] == $arr[$j])
{
$i--;
break;
}
}
}
sort($arr);</p>
<p>
$result=array();
for($day=1; $day<=$maxDay;$day++){
if(in_array($day, $arr)){
array_push($result, "1");
} else {
array_push($result, "");
}
}</p>
<p> </p>
<p> $data['daily'] = $result;</p>
<p> $this->load->view('posting',$data);</p>
<p><strong>
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
view
[code]
//여기 foreach 써보고 있는데 잘 되지 않네요,,,
<? for($i=0;$i<30;$i++){ ?>
<td><?php echo $daily[$i]; ?> </td>
<? } ?>
[/code]
//컨트롤러는 거의 동일합니다..
[code]
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);
}
[/code]