| 제목 | 안녕하세요 첫질문글 올립니다. | ||
|---|---|---|---|
| 카테고리 | PHP | ||
| 글쓴이 | 경이 | 작성시각 | 2021/09/29 11:19:49 |
|
|
|||
//뷰부분
<?php
foreach ($posting as $detail) {
if ($detail->posting_type == 0) {
?>
<tr class="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><input type="hidden" name="last_month" value="<?=$detail->last_month?>"><?=$detail->last_month?>개</td>
<td><input type="hidden" name="total" value="<?=$detail->total?>"><?=$detail->total?>개</td>
<? for($i=0;$i<$maxDay;$i++){ ?>
<td><?php echo $daily[$i]; ?>
</td>
<? } ?>
<td><?=$detail->last_month?>개</td>
</tr>
<?php
} //if
} //foreach
?>
//컨트롤러부분
$posting_data = array(
'report_day' => $this->input->post('report_day'),
'last_month' => $this->input->post('last_month'),
// 'posting_user_id' => $this->input->post('posting_user_id'),
'total' => $this->input->post('total'),
'posting_type' => $this->input->post('posting_type'),
'hospital_id' => $this->input->post('hospital_id'),
// 'posting_day' => $this->input->post('posting_day'),
);
위와 같이 코딩을 했는데 값이 넘어왔다가 안넘어왔다하다가 현재는 print_r($posting_data);로 값을 확인해도 아무것도 확인이 되지 않습니다.... 도대체 무슨 문제일까요....? 지금 이틀째 확인해보고 있는데 전혀 알수가 없어서요,,, 도움주시면 감사합니다.. |
|||
| 다음글 | 안녕하세요, 초보 개발자입니다. 도움이 필요합니다!ㅠㅠ | ||
| 이전글 | spring에 pebble java 설정 도와주세요ㅠㅠ (3) | ||
|
한대승(불의회상)
/
2021/09/29 11:22:38 /
추천
0
|
|
경이
/
2021/09/29 11:26:13 /
추천
0
한대승님 안녕하세요. 음,,, 제가 설명이 부족했나봐요 우선 뷰에서 컨트롤러로 데이터를 넘기고 싶은데 제 생각엔 맞게 작성했다고 느껴지는데 이 부분이 지금 되질 않습니다.. (웃긴게 그전에는 또 되다가 갑자기 또 되질 않습니다...) 혹시 어느 부분에서 문제일까요..? |
|
테러보이
/
2021/09/29 11:39:30 /
추천
0
컨트롤러 소스 뷰까지보여주세요
|
|
변종원(웅파)
/
2021/09/29 11:44:38 /
추천
0
컨트롤러에서 연관배열로 값을 만들었고 뷰에서는 객체배열로 사용했습니다 $detail->posting_type 그리고 컨트롤러에서 $posting_data 로 배열을 만들고 뷰에서는 $posting로 사용했습니다. 어떻게 넘겼는지 컨트롤러 소스 필요. |
|
경이
/
2021/09/30 10:48:33 /
추천
0
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Posting_plan extends Both_Controller {
function __construct() {
parent::__construct();
$this->load->model("posting_models");
}
public function index()
{
if (empty($_GET['date'])) { // 입력값이 없으면 오늘을 기준으로 한다
$thisDay = date("Y-m-d");
} else {
if (isset($_GET['btn'])) {
if ($_GET['btn'] == 'prev') { // 이전달 구하기
$thisDay = date("Y-m-d", strtotime($_GET['date'] . " -1 month"));
} elseif ($_GET['btn'] == 'next') { // 다음달 구하기
$thisDay = date("Y-m-d", strtotime($_GET['date'] . " +1 month"));
}
} else {
$thisDay = $_GET['date']; // 입력한 날짜 가져오기
}
}
$thisDayArry = explode('-', $thisDay);
$thisY = $thisDayArry[0];
$thisM = $thisDayArry[1];
$thisD = $thisDayArry[2];
$maxDay = date("t", strtotime($thisDay)); // 총일수
$startWeek = date("w", strtotime($thisY . "-" . $thisM . "-01")); // 1일의 요일 구하기
$maxWeek = ceil(($maxDay + $startWeek) / 7); // 총주수
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, "0");
}
}
print_r($result);
}
// print_r($result);
$posting_data = array(
'report_day' => $this->input->post('report_day'),
'last_month' => $this->input->post('last_month'),
'posting_user_id' => $this->input->post('posting_user_id'),
'total' => $this->input->post('total'),
'posting_type' => $this->input->post('posting_type'),
'hospital_id' => $this->input->post('hospital_id'),
'posting_day' => $this->input->post('posting_day'),
);
$posting_user_id= $this->input->post('select', true);
//print_r($this->input->post(null, true));
$data['daily'] = $result;
$data['posting'] = $this->posting_models->get_manage_hospital_list(184);
$data['marketer_list'] = $this->posting_models->get_employees_active_team_list(1); // 마케팅팀 직원 리스트
//$this->posting_models-> save_posting( $posting_data );
// print_r($posting_data);
$this->load->view('posting',$data);
}
}
여기가 컨트롤러 소스입니다. |
|
경이
/
2021/09/30 10:49:35 /
추천
0
<style>
table, th, td {
border: 1px solid #444444;
}
#detail,#naver_detail {
margin-left: auto;
margin-right: auto;
width: 1200px;
}
</style>
<?php
if (empty($_GET['date'])) { // 입력값이 없으면 오늘을 기준으로 한다
$thisDay = date("Y-m-d");
} else {
if (isset($_GET['btn'])) {
if ($_GET['btn'] == 'prev') { // 이전달 구하기
$thisDay = date("Y-m-d", strtotime($_GET['date'] . " -1 month"));
} elseif ($_GET['btn'] == 'next') { // 다음달 구하기
$thisDay = date("Y-m-d", strtotime($_GET['date'] . " +1 month"));
}
} else {
$thisDay = $_GET['date']; // 입력한 날짜 가져오기
}
}
$thisDayArry = explode('-', $thisDay);
$thisY = $thisDayArry[0];
$thisM = $thisDayArry[1];
$thisD = $thisDayArry[2];
$maxDay = date("t", strtotime($thisDay)); // 총일수
$startWeek = date("w", strtotime($thisY . "-" . $thisM . "-01")); // 1일의 요일 구하기
$maxWeek = ceil(($maxDay + $startWeek) / 7); // 총주수
$endWeek = date("w", strtotime($thisY . "-" . $thisM . "-" . $maxDay)); // 마지막일은 무슨 요일인가
?>
<select id="select" style="height: 40px;">
<?php foreach($marketer_list as $marketer){ ?>
<option value="<?=$marketer->id?>"><?=$marketer->username?></option>
<?php } ?>
</select> <input type="submit" id="choice" value="선택" />
<br>
<br>
<br>
<a href="posting_plan?date=<?php echo $thisDay?>&btn=prev">이전달</a> <a
href="posting_plan?date<?php echo " " . $thisY . '년 ' . $thisM . '월 ' . " "; ?>">
<?php echo " " . $thisY . '년 ' . $thisM . '월 ' . " "; ?></a>
<a href="posting_plan?date=<?php echo $thisDay?>&btn=next">다음달</a>
<!-- 그냥 달력 -->
<table style="width: 500px; height: 200px;">
<tr>
<th>일</th>
<th>월</th>
<th>화</th>
<th>수</th>
<th>목</th>
<th>금</th>
<th>토</th>
</tr>
<tbody>
<?php $day=1; ?>
<?php for($i=1; $i<=$maxWeek; $i++){ //세로칸?>
<tr>
<?php for($j=0; $j<7; $j++){ //가로칸?>
<td>
<?php
if (($i == 1 && $j < $startWeek) || ($i == $maxWeek && $j > $endWeek)) {
// 첫째 주이고 j가 1일의 요일보다 작은 경우 패스 || 마지막 주 이고 j가 마지막일의 요일보다 크면 패스
echo '';
} else {
if ($j == 0) {
echo "<font color=red>";
echo $day;
echo "</font>";
} else if ($j == 6) {
echo "<font color=blue>";
echo $day;
echo "</font>";
} else {
echo "<font color=black>";
echo $day;
echo "</font>";
}
$day ++;
}
?>
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
<br>
<div class="show_posting" style="display:show">
<form method="post" name="form">
<!-- 카페/블로그 포스팅 관련 -->
<table id="detail" class="postingall">
<thead>
<tr class="tr">
<th class="th">날짜</th>
<th class="th">포스팅</th>
<th class="th">이전개수</th>
<th class="th" id="total">총개수</th>
<?php for($day=1; $day<=$maxDay;$day++){ ?>
<th class="th" id="day1"><?php echo $day; } ?></th>
<th class="th">개수체크</th>
</tr>
</thead>
<tbody>
<?php
foreach ($posting as $detail) {
if ($detail->posting_type == 0) {
?>
<tr class="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><input type="hidden" name="last_month[]" value="<?=$detail->last_month?>"><?=$detail->last_month?>개</td>
<td><input type="hidden" name="total[]" value="<?=$detail->total?>"><?=$detail->total?>개</td>
<!-- <? for($i=0;$i<$maxDay;$i++){ ?> -->
<!-- <td><?php echo $daily[$i]; ?> </td> -->
<!-- <? } ?> -->
<?php $day=1;
//주말제외하고 랜덤으로 날짜뽑기
if($detail->report_day==1){
$arr = array();
for($i=0; $i<$detail->total; $i++)
{
$arr[$i] = rand(1, $maxDay);
$nalja3 = "$thisY-$thisM-$arr[$i]";
$yoeil = date('w' , strtotime($nalja3) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($arr[$i] == $arr[$j])
{
$i--;
break;
}
}
}
sort($arr);
}else if($detail->report_day==11){
$befor10 = array();
for($i=0; $i<$detail->total; $i++)
{
$befor10 [$i] = rand(1, 10);
$nalja4 = "$thisY-$thisM-$befor10[$i]";
$yoeil = date('w' , strtotime($nalja4) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($befor10[$i] == $befor10[$j])
{
$i--;
break;
}
}
}
$after11 = array();
for($i=0; $i<$detail->last_month; $i++)
{
$after11[$i] = rand(11, $maxDay);
$nalja5 = "$thisY-$thisM-$after11[$i]";
$yoeil = date('w' , strtotime($nalja5) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($after11[$i] == $after11[$j])
{
$i--;
break;
}
}
}
$arr= array_merge($befor10,$after11 );
sort($arr);
}else{
$befor20 = array();
for($i=0; $i<$detail->total; $i++)
{
$befor20 [$i] = rand(1, 20);
$nalja5 = "$thisY-$thisM-$befor20[$i]";
$yoeil = date('w' , strtotime($nalja5) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($befor20[$i] == $befor20[$j])
{
$i--;
break;
}
}
}
$after21 = array();
for($i=0; $i<$detail->last_month; $i++)
{
$after21[$i] = rand(21, $maxDay);
$nalja6 = "$thisY-$thisM-$after21[$i]";
$yoeil = date('w' , strtotime($nalja6) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($after21[$i] == $after21[$j])
{
$i--;
break;
}
}
}
$arr= array_merge($befor20,$after21 );
sort($arr);
// echo '<script>';
// echo 'console.log("'.$nalja6.'")';
// echo '</script>';
}
for($day=1; $day<=$maxDay;$day++){ ?>
<td> <?
if(in_array($day, $arr)){
echo "1";
} else {
?>
<span style="display:none;">
<? echo "0"; ?></span>
<?
}
?>
</td>
<?php
} // for($day=1; $day<=$maxDay;$day++){
?>
<td><?=$detail->last_month?>개</td>
</tr>
<?php
} //if
} //foreach
?>
</tbody>
</table>
<br>
<br>
<!-- 지식인 포스팅 -->
<table id="naver_detail" class="postingall">
<thead>
<tr class="tr">
<th class="th">날짜</th>
<th class="th">지식인</th>
<th class="th">이전개수</th>
<th class="th">총개수</th>
<?php for($day=1; $day<=$maxDay;$day++){ ?>
<th class="th" id="day"><?php echo $day; } ?></th>
<th class="th">개수체크</th>
</tr>
</thead>
<tbody>
<?php
foreach ($posting as $detail) {
if ($detail->posting_type == 1) {
?>
<tr class="tr">
<td><?=$detail->report_day?>일</td>
<td><?=$detail->hosp_name?></td>
<td><?=$detail->last_month?>개</td>
<td><?=$detail->total?>개</td>
<?php $day=1;
//주말제외하고 랜덤으로 날짜뽑기
if($detail->report_day==1){
$arr = array();
for($i=0; $i<$detail->total; $i++)
{
$arr[$i] = rand(1, $maxDay);
$nalja3 = "$thisY-$thisM-$arr[$i]";
$yoeil = date('w' , strtotime($nalja3) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($arr[$i] == $arr[$j])
{
$i--;
break;
}
}
}
sort($arr);
}else if($detail->report_day==11){
$befor10 = array();
for($i=0; $i<$detail->total; $i++)
{
$befor10 [$i] = rand(1, 10);
$nalja4 = "$thisY-$thisM-$befor10[$i]";
$yoeil = date('w' , strtotime($nalja4) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($befor10[$i] == $befor10[$j])
{
$i--;
break;
}
}
}
$after11 = array();
for($i=0; $i<$detail->last_month; $i++)
{
$after11[$i] = rand(11, $maxDay);
$nalja5 = "$thisY-$thisM-$after11[$i]";
$yoeil = date('w' , strtotime($nalja5) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($after11[$i] == $after11[$j])
{
$i--;
break;
}
}
}
$arr= array_merge($befor10,$after11 );
sort($arr);
}else{
$befor20 = array();
for($i=0; $i<$detail->total; $i++)
{
$befor20 [$i] = rand(1, 20);
$nalja5 = "$thisY-$thisM-$befor20[$i]";
$yoeil = date('w' , strtotime($nalja5) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($befor20[$i] == $befor20[$j])
{
$i--;
break;
}
}
}
$after21 = array();
for($i=0; $i<$detail->last_month; $i++)
{
$after21[$i] = rand(21, $maxDay);
$nalja6 = "$thisY-$thisM-$after21[$i]";
$yoeil = date('w' , strtotime($nalja6) );
if($yoeil==0||$yoeil==6){
// print_r(' 주말 ');
$i--;
continue;
}
for($j=0; $j<$i; $j++)
{
if($after21[$i] == $after21[$j])
{
$i--;
break;
}
}
}
$arr= array_merge($befor20,$after21 );
sort($arr);
// echo '<script>';
// echo 'console.log("'.$nalja6.'")';
// echo '</script>';
}
for($day=1; $day<=$maxDay;$day++){ ?>
<td> <?
if(in_array($day, $arr)){
echo "1";
} else {
?>
<span style="display:none;">
<? echo "0"; ?></span>
<?
}
?>
</td>
<?php
} // for($day=1; $day<=$maxDay;$day++){
?>
<td><?=$detail->last_month?>개</td>
</tr>
<?php
} //if (posting_type
} //foreach
?>
<tr id="totalRow"></tr>
</tbody>
</table>
</form>
<table id="chk_sum">
<tfoot>
<tr>
<td>total</td>
<td>total</td>
<td>total</td>
<td>total</td>
<?php for($day=1; $day<=$maxDay;$day++){ ?>
<td id="total_Day"><? } ?></td>
</tr>
</tfoot>
</table>
</div>
<table>
<thead>
<tr class="tr">
<?php for($day=1; $day<=30;$day++){ ?>
<th class="th" id="day1"><?php echo $day; } ?></th>
</tr>
</thead>
<? for($i=0;$i<2;$i++){ ?>
<? foreach($daily as $value){ ?>
<td><?php echo $value[$i]; ?> </td>
<? } ?>
<? } ?>
</table>
<style>
#chk_sum{ margin-left: 460px;
width: 750px;}
#day,#day1,#total_Day{width:20px;}
</style>
<script>
//주말수 구하기
var date1 = new Date('<?=$thisY?>','<?=$thisM?>'-1,1);
var date2 = new Date('<?=$thisY?>','<?=$thisM?>'-1,'<?=$maxDay?>');
var count =0;
console.log(date1);
console.log(date2);
while(true) {
var temp_date = date1;
if(temp_date.getTime() > date2.getTime()) {
console.log("count : " + count);
break;
} else {
var tmp = temp_date.getDay();
if(tmp == 0 || tmp == 6) {
// 주말
} else {
// 평일
count++;
}
temp_date.setDate(date1.getDate() + 1);
}
}
//개수 총합 구하기
var total=0;
var lastTotal=0;
$('.postingall tr').each(function() {
$(this).find('td:eq(3)').each(function() {
total += parseFloat($(this).text());
})
$(this).find('td:eq(2)').each(function() {
lastTotal += parseFloat($(this).text());
})
});
console.log("total : " + total);
console.log("lastTotal : " + lastTotal);
var sum = total + lastTotal;
console.log("sum : " + sum);
var avg= sum/count;
var avg1 = Math.ceil(avg);
console.log("avg1 : " +avg1);
//하루에 몇개하는지 총합
$(document).ready(function() {
$('.th').each(function(i) {
calculateColumn(i);
});
});
function calculateColumn(index) {
var total = 0;
var day =<?=$maxDay?>+4;
if(index>3&&index<day){
$('.tr').each(function() {
var value = parseInt($('td', this).eq(index).text());
if (!isNaN(value)) {
total += value;
}
});
$('table tfoot td').eq(index).text( total);
}
//if(total>avg1+1){ //평균에서 반올림한 숫자에 +1보다 클 경우 계속 새로 고침댐
// location.reload();
// }
}
$(document).ready(function() {
$('#choice').click(function() {
var select = $("#select").val();
alert(select);
$.ajax({
url : "<?php echo base_url(); ?>posting_plan",
type : 'post',
cache: false,
data : { "select" : select },
success : function(data) {
alert("성공");
$(".show_posting").show();
}
})
});
});
</script>
//여기가 뷰 코드입니다.. 아직 고치는중이라서 조금 지저분 합니다.... 감사합니다
|
|
한대승(불의회상)
/
2021/09/30 17:16:08 /
추천
0
최종적으로 생성되는 html 코드에 답이 있을것 같습니다. <form>...</form> 사이의 html을 잘 확인해 보세요. |
|
테러보이
/
2021/10/01 09:00:41 /
추천
0
posting_data 를 컨트롤러에서 뿌려서 안나오는거면 post 전송으로 값이 안들어와서 일거고
뷰페이지에서 안나오는 거면 컨트롤러 view()의 $data에 posting_data를 포함 하지않아서 입니다. |
|
경이
/
2021/10/01 10:01:04 /
추천
0
//한대승님 //테러보이님 감사합니다~~ 확인해보고 찾아서 고쳐보겠습니닷!
|
위 내용으론 전후 파악이 안되네요.
도움드리기 참 난감하네요.