폼 관련 질문 드립니다.
본문
안녕하세요 현제 글쓰기 페이지와 보기 페이지에 아래와 같이 작성을 하였는데요
일단 wr_11이라는 것을 활용해서 하였습니다. 그런데 DB에는 아무런 흔적이 없구요
제가 체크한 부분이 표시가 되지 않습니다. 뭑가 문제가 있을까요
다른 건 다 되는데요 활동계획 이 부분이 문제라서요
혹시 뭐가 문제인지 알려 주시면 감사 드리겠습니다.
제가 PHP에는 아직 실력이 없다보니 어렵기는 하네요
안되는 부분은
1. 체크된 것이 뷰페이지에서 표시가 안되는 문제
2. DB에 정상적으로 등록이 안되는 문제
아마도 DB에 등록이 되지 않아서 그런 것 같기는 한데요
혹시 write_update.skin.php 여기다가도 뭐 작성을 해주어야 하나요
https://hbcil.homweb.co.kr/bbs/board.php?bo_table=04_02
혹시 몰라서 제가 작업 하고 있는 사이트 올려 드립니다. 전문가분들의 조언 부탁 드립니다.
이게 사실 꼭 필요해서요 부탁 드리겠습니다. 감사합니다
write.skin.php 파일에 아래와 같이 입력을 하였습니다.
<?php
// 활동 계획 데이터 처리
$days = array("월", "화", "수", "목", "금", "토", "일");
$times = array("0-2", "2-4", "4-6", "6-8", "8-10", "10-12", "12-14", "14-16", "16-18", "18-20", "20-22", "22-24");
// wr_11을 문자열로 변환
$wr_11 = '';
foreach ($days as $day) {
foreach ($times as $time) {
$key = "wr_11_{$day}_{$time}";
if (isset($_POST[$key]) && $_POST[$key] == '1') {
$wr_11 .= "$day-$time|";
}
}
}
// 마지막 '|' 제거
$wr_11 = rtrim($wr_11, '|');
// SQL 업데이트
sql_query("UPDATE $write_table SET wr_11 = '$wr_11' WHERE wr_id = '$wr_id'");
?>
<tr>
<th scope="row" class="subject" rowspan="13"><font color="#0c4ca3">*</font><label for="wr_7">활동계획</label></th>
<td class="subtext" style="text-align:center;">시간</td>
<td class="subtext" style="text-align:center;">월</td>
<td class="subtext" style="text-align:center;">화</td>
<td class="subtext" style="text-align:center;">수</td>
<td class="subtext" style="text-align:center;">목</td>
<td class="subtext" style="text-align:center;">금</td>
<td class="subtext" style="text-align:center;">토</td>
<td class="subtext" style="text-align:center;">일</td>
</tr>
<?php
foreach ($times as $time) {
echo "<tr>";
echo "<td>{$time}</td>";
foreach ($days as $day) {
$key = "wr_11_{$day}_{$time}";
$checked = (isset($_POST[$key]) && $_POST[$key] == '1') ? 'checked' : '';
echo "<td><input type='checkbox' name='{$key}' value='1' {$checked} id='{$key}'><label for='{$key}'></label></td>";
}
echo "</tr>";
}
?>
view.skin.php 에 아래와 같이 작성 하였습니다.
<?php
// DB에서 wr_11 데이터 가져오기
$wr_11 = isset($write['wr_11']) ? $write['wr_11'] : ''; // 예시 데이터 초기화
$wr_11_array = explode('|', $wr_11);
$days = array("월", "화", "수", "목", "금", "토", "일");
$times = array("0-2", "2-4", "4-6", "6-8", "8-10", "10-12", "12-14", "14-16", "16-18", "18-20", "20-22", "22-24");
?>
<tr>
<th scope="row" class="subject" rowspan="13"><font color="#0c4ca3">*</font><label for="wr_7">활동계획</label></th>
<td class="subtext" style="text-align:center;">시간</td>
<td class="subtext" style="text-align:center;">월</td>
<td class="subtext" style="text-align:center;">화</td>
<td class="subtext" style="text-align:center;">수</td>
<td class="subtext" style="text-align:center;">목</td>
<td class="subtext" style="text-align:center;">금</td>
<td class="subtext" style="text-align:center;">토</td>
<td class="subtext" style="text-align:center;">일</td>
</tr>
<?php
foreach ($times as $time) {
echo "<tr>";
echo "<td>{$time}</td>";
foreach ($days as $day) {
$key = "$day-$time";
$checked = in_array($key, $wr_11_array) ? 'checked' : '';
echo "<td><input type='checkbox' disabled {$checked} id='{$key}'><label for='{$key}'></label> </td>";
}
echo "</tr>";
}
?>
답변 2
게시판 테이블에 wr_11 필드는 추가 하였겠죠?
해당스킨 폴더에 write_update.skin.php 화일을 만들고
write.skin.php에 넣은 php 코드를 복사해 붙여넣으세요
// wr_11을 문자열로 변환 <--여기 부터
~~
sql_query("update~~~~"); <---여기까지 복사/붙여넣기 후 삭제
-----------------
wr_11을 추가하기 번거로우면
wr_content에 어떤 내용이 들어가는지 모르겠으나 이곳을 이용해도 될 것입니다
wr_link1, wr_link2, wr_homepage 등 사용하지않는 필드가 있으면 이용해도 됩니다
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=284
통해서 여분 필드를 추가 하셨나요?
이거 설정 > 저장 부터 되는지 확인하시고 다음으로 넘어가셔야 할 것 같습니다.
위 주소는 저도 저거 보고 했고 현재도 동작합니다. 차근 차근 해서 저것 부터 완료하세요