글작성 업데이트문 관련
본문

글 작성시 그림처럼 최대 10개까지 필드를 늘여서 입력을 합니다.
해당 테이블로 값은 잘 넘어갑니다.
그런데 글수정시에 입력한 값과 추가를 한 필드 그대로 데이터를 받아와서 글수정시엔 수정을 해야 되는데
글수정을 모드로 들어가면 초기화가 되어 있네요..
-------------------------------------------------------------------------------------
write.skin.php 필드추가관련 소스
<?
$pollScript = "<script>for (i=0;i<2;i++) { addPoll();}</script>";
?>
<script type="text/javascript">
$pollScript = "<script>for (i=0;i<2;i++) { addPoll();}</script>";
?>
<script type="text/javascript">
var flen = 0;
function addPoll(memo)
{
var poll_count = <?=(int)$board[bo_upload_count]?>;
if (poll_count && flen >= poll_count)
{
alert("보기는 10개까지 등록 가능합니다.");
return;
}
if (!memo) memo = '';
var objTbl;
var objRow;
var objCell;
if (poll_count && flen >= poll_count)
{
alert("보기는 10개까지 등록 가능합니다.");
return;
}
if (!memo) memo = '';
var objTbl;
var objRow;
var objCell;
if (document.getElementById)
objTbl = document.getElementById('poll_table','variableFiles');
else
objTbl = document.all['poll_table','variableFiles'];
objTbl = document.getElementById('poll_table','variableFiles');
else
objTbl = document.all['poll_table','variableFiles'];
objRow = objTbl.insertRow(objTbl.rows.length);
objCell = objRow.insertCell(0);
objCell.innerHTML = + 1 + "번 보기를 입력하세요. <INPUT style='width:300px; height:27px; padding:4px; border:1px solid #c2c2c2; font-weight:bold;' value='" + memo + "' name='po_poll[]'> <input type='file' name='bf_file[]'>";
flen++;
}
}
<?=$file_script; //수정시에 필요한 스크립트?>
function delPoll()
{
{
var poll_length = 1;
var objTbl = document.getElementById("poll_table");
if (objTbl.rows.length - 1 > poll_length)
{
objTbl.deleteRow(objTbl.rows.length - 1);
flen--;
}
}
</script>
var objTbl = document.getElementById("poll_table");
if (objTbl.rows.length - 1 > poll_length)
{
objTbl.deleteRow(objTbl.rows.length - 1);
flen--;
}
}
</script>
<table id='poll_table' cellpadding=0 cellspacing=0></table><?=$pollScript?>
-----------------------------------------------------------------------------------
write_update.skin.php
$items= array();
for ($i=0; $i<=9; $i++) {
$items['po_poll'.$i] = get_text($_POST['po_poll'][$i]);
}
for ($i=0; $i<=9; $i++) {
$items['po_poll'.$i] = get_text($_POST['po_poll'][$i]);
}
$_POST['po_poll1'] = $items['po_poll0'];
$_POST['po_poll2'] = $items['po_poll1'];
$_POST['po_poll3'] = $items['po_poll2'];
$_POST['po_poll4'] = $items['po_poll3'];
$_POST['po_poll5'] = $items['po_poll4'];
$_POST['po_poll6'] = $items['po_poll5'];
$_POST['po_poll7'] = $items['po_poll6'];
$_POST['po_poll8'] = $items['po_poll7'];
$_POST['po_poll9'] = $items['po_poll8'];
$_POST['po_poll10'] = $items['po_poll9'];
$_POST['po_poll2'] = $items['po_poll1'];
$_POST['po_poll3'] = $items['po_poll2'];
$_POST['po_poll4'] = $items['po_poll3'];
$_POST['po_poll5'] = $items['po_poll4'];
$_POST['po_poll6'] = $items['po_poll5'];
$_POST['po_poll7'] = $items['po_poll6'];
$_POST['po_poll8'] = $items['po_poll7'];
$_POST['po_poll9'] = $items['po_poll8'];
$_POST['po_poll10'] = $items['po_poll9'];
if ($w == '')
{
$sql = " insert {$g5['poll_table']}
( po_subject, po_poll1, po_poll2, po_poll3, po_poll4, po_poll5, po_poll6, po_poll7, po_poll8, po_poll9, po_poll10, po_cnt1, po_cnt2, po_cnt3, po_cnt4, po_cnt5, po_cnt6, po_cnt7, po_cnt8, po_cnt9, po_cnt10, po_etc, po_multi, po_level, po_point, po_date )
values ( '{$_POST['po_subject']}', '{$_POST['po_poll1']}', '{$_POST['po_poll2']}', '{$_POST['po_poll3']}', '{$_POST['po_poll4']}', '{$_POST['po_poll5']}', '{$_POST['po_poll6']}', '{$_POST['po_poll7']}', '{$_POST['po_poll8']}', '{$_POST['po_poll9']}', '{$_POST['po_poll10']}', '{$_POST['po_cnt1']}', '{$_POST['po_cnt2']}', '{$_POST['po_cnt3']}', '{$_POST['po_cnt4']}', '{$_POST['po_cnt5']}', '{$_POST['po_cnt6']}', '{$_POST['po_cnt7']}', '{$_POST['po_cnt8']}', '{$_POST['po_cnt9']}', '{$_POST['po_cnt10']}', '{$_POST['po_etc']}', '{$_POST['po_multi']}', '{$_POST['po_level']}', '{$_POST['po_point']}', '".G5_TIME_YMDHIS."' ) ";
sql_query($sql);
( po_subject, po_poll1, po_poll2, po_poll3, po_poll4, po_poll5, po_poll6, po_poll7, po_poll8, po_poll9, po_poll10, po_cnt1, po_cnt2, po_cnt3, po_cnt4, po_cnt5, po_cnt6, po_cnt7, po_cnt8, po_cnt9, po_cnt10, po_etc, po_multi, po_level, po_point, po_date )
values ( '{$_POST['po_subject']}', '{$_POST['po_poll1']}', '{$_POST['po_poll2']}', '{$_POST['po_poll3']}', '{$_POST['po_poll4']}', '{$_POST['po_poll5']}', '{$_POST['po_poll6']}', '{$_POST['po_poll7']}', '{$_POST['po_poll8']}', '{$_POST['po_poll9']}', '{$_POST['po_poll10']}', '{$_POST['po_cnt1']}', '{$_POST['po_cnt2']}', '{$_POST['po_cnt3']}', '{$_POST['po_cnt4']}', '{$_POST['po_cnt5']}', '{$_POST['po_cnt6']}', '{$_POST['po_cnt7']}', '{$_POST['po_cnt8']}', '{$_POST['po_cnt9']}', '{$_POST['po_cnt10']}', '{$_POST['po_etc']}', '{$_POST['po_multi']}', '{$_POST['po_level']}', '{$_POST['po_point']}', '".G5_TIME_YMDHIS."' ) ";
sql_query($sql);
$po_id = mysql_insert_id();
}
else if ($w == 'u')
{
}
else if ($w == 'u')
{
$sql = " update {$g5['poll_table']}
set po_subject = '{$_POST['po_subject']}',
po_poll1 = '{$_POST['po_poll1']}',
po_poll2 = '{$_POST['po_poll2']}',
po_poll3 = '{$_POST['po_poll3']}',
po_poll4 = '{$_POST['po_poll4']}',
po_poll5 = '{$_POST['po_poll5']}',
po_poll6 = '{$_POST['po_poll6']}',
po_poll7 = '{$_POST['po_poll7']}',
po_poll8 = '{$_POST['po_poll8']}',
po_poll9 = '{$_POST['po_poll9']}',
po_poll10 = '{$_POST['po_poll10']}',
po_cnt1 = '{$_POST['po_cnt1']}',
po_cnt2 = '{$_POST['po_cnt2']}',
po_cnt3 = '{$_POST['po_cnt3']}',
po_cnt4 = '{$_POST['po_cnt4']}',
po_cnt5 = '{$_POST['po_cnt5']}',
po_cnt6 = '{$_POST['po_cnt6']}',
po_cnt7 = '{$_POST['po_cnt7']}',
po_cnt8 = '{$_POST['po_cnt8']}',
po_cnt9 = '{$_POST['po_cnt9']}',
po_cnt10 = '{$_POST['po_cnt10']}',
po_etc = '{$_POST['po_etc']}',
po_multi = '{$_POST['po_multi']}',
po_level = '{$_POST['po_level']}',
po_point = '{$_POST['po_point']}',
po_date = '{$_POST['po_date']}'
where po_id = '{$_POST['po_id']}' ";
sql_query($sql);
}
set po_subject = '{$_POST['po_subject']}',
po_poll1 = '{$_POST['po_poll1']}',
po_poll2 = '{$_POST['po_poll2']}',
po_poll3 = '{$_POST['po_poll3']}',
po_poll4 = '{$_POST['po_poll4']}',
po_poll5 = '{$_POST['po_poll5']}',
po_poll6 = '{$_POST['po_poll6']}',
po_poll7 = '{$_POST['po_poll7']}',
po_poll8 = '{$_POST['po_poll8']}',
po_poll9 = '{$_POST['po_poll9']}',
po_poll10 = '{$_POST['po_poll10']}',
po_cnt1 = '{$_POST['po_cnt1']}',
po_cnt2 = '{$_POST['po_cnt2']}',
po_cnt3 = '{$_POST['po_cnt3']}',
po_cnt4 = '{$_POST['po_cnt4']}',
po_cnt5 = '{$_POST['po_cnt5']}',
po_cnt6 = '{$_POST['po_cnt6']}',
po_cnt7 = '{$_POST['po_cnt7']}',
po_cnt8 = '{$_POST['po_cnt8']}',
po_cnt9 = '{$_POST['po_cnt9']}',
po_cnt10 = '{$_POST['po_cnt10']}',
po_etc = '{$_POST['po_etc']}',
po_multi = '{$_POST['po_multi']}',
po_level = '{$_POST['po_level']}',
po_point = '{$_POST['po_point']}',
po_date = '{$_POST['po_date']}'
where po_id = '{$_POST['po_id']}' ";
sql_query($sql);
}
답변 2
게시판스킨을 이용해서 투표를 등록하는 건가요? 투표등록이 아닌 투표참여라면 뭔가 많이 바껴야 할지도..
여튼 혹시 모르니 일단 수정전에 새로 작성하고나서 디비(g5_poll_table)에 내용이 잘 저장됐는지 확인해보세요.
저장이 잘 되고나서야 수정할 때 기존값이 나오던지 하겠죠? ^^;
그리고 수정할 내용을 $pollScript 여기에서 셋팅해주는게 좋겠군요.
write.skin.php 상단을 이걸로 바꿔보세요.
<?
//$pollScript = "<script>for (i=0;i<2;i++) { addPoll();}</script>";
$pollScript = '';
$row = sql_fetch(" select po_poll1,po_poll2,po_poll3,po_poll4,po_poll5,po_poll6,po_poll7,po_poll8,po_poll9,po_poll10, from {$g5['poll_table']} where po_id = '$po_id'");
for ($i=1; $i<=10; $i++) {
$memo = get_text(trim($row['po_poll'.$i]));
if (strlen($memo))
$pollScript .= 'addPoll("'.$memo.'");'.PHP_EOL;
elseif ($i<=2)
$pollScript .= 'addPoll("");'.PHP_EOL;
}
?>
그리고 자바스크립트중에..
objCell.innerHTML = + 1 + "번 보기를 입력하세요.
여기는 1 대신에 (flen+1) 이걸로 바꿔주심이..
그런데 po_cnt1~10, po_etc, po_level, po_point 이 값들은 써놓지 않은 다른 어딘가에서 지정이 되는걸까요?
특히 po_cnt1~10 이 값들은 투표수라서 의도하신게 투표등록이라면 딱히 값을 안넣어주는게 좋을듯 하네요. 수정이 아니라 등록이어도 알아서 0으로 셋팅됩니다.
반대로 의도하신게 투표참여라면.. 싸그리 고쳐야 할듯..

아 엄청 많은 도움이 되었습니다.
설문을 등록하는 중이구요.
말씀하신대로 수정을 해보니 글수정시에 작성시 값은 잘 나오는데
문제는 입력필드가 동시에 나와야 안에 값을 수정을 하는데 저렇게 필드 없이 나열 되버려서 ㅋㅋ
flen+1 이것도 해결 못하고 있었는데 1번 2번 순차적으로 잘 나오네요 ~
답변을 작성하시기 전에 로그인 해주세요.