DB 업데이트가 마지막 것만 됩니다. 채택완료

다중 설문조사 입력폼의 관리자 페이지를 만들고 있습니다.

입력폼은 눌러줄때마다 하나씩 생기게 하는것까지 하고,

입력폼에 수정된 데이터 값을 넣으면 디비에 업데이트를 해주는데요...

 

"$fs_id"의 마지막 꺼만 업데이트가 됩니다....

답변이 3개면 항상 마지막꺼로만 디비를 들어가네요

 

업데이트 페이지에서 $fs_id의 값을 마지막꺼만 불러오는 것 같은데요

for 문을 돌려도 안되고.. 당췌 어떻게 해야할지 모르겠습니다.

 

고수님들의 지도편달 부탁드려요 ㅠㅠ

미칠 것 같습니다.

 

 

Copy
<?php$sub_menu = '400100';include_once('./_common.php');include_once(G5_EDITOR_LIB);auth_check($auth[$sub_menu], "w");$sql = " select * from {$g5['solution_master_table']} where fm_id = '$fm_id' ";$fm = sql_fetch($sql);$sql = " select * from {$g5['solution_list_table']} where fa_id = '$fa_id' ";$fa = sql_fetch($sql);$sql = " select * from {$g5['solution_table']} where fs_id = '$fs_id' ";$fs = sql_fetch($sql);$sql_common = " from {$g5['solution_table']} where fs_id";// 테이블의 전체 레코드수만 얻음$sql = " select count(*) as cnt " . $sql_common;$row = sql_fetch($sql);$total_count = $row[cnt];$result = sql_query($sql);$sql_common2 = " from {$g5['solution_table']} where fs_id";// 테이블의 전체 레코드수만 얻음$sql2 = " select count(*) as cnt " . $sql_common2;$row2 = sql_fetch($sql2);$sql2 = "select * $sql_common2 order by fs_id ";$result2 = sql_query($sql2);////////////////////////////////$html_title = '솔루션 '.$fm['fm_subject'];if ($w == "u"){    $html_title .= " 수정";    $readonly = " readonly";    $sql = " select * from {$g5['solution_list_table']} where fa_id = '$fa_id' ";    $fa = sql_fetch($sql);    if (!$fa['fa_id']) alert("등록된 자료가 없습니다.");}else    $html_title .= ' 항목 입력';$g5['title'] = $html_title.' 관리';include_once (G5_ADMIN_PATH.'/admin.head.php');?><form name="frmsolutionform" action="./solutionformupdate.php" onsubmit="return frmsolutionform_check(this);" method="post"><input type="hidden" name="w" value="<?php echo $w; ?>"><input type="hidden" name="fm_id" value="<?php echo $fm_id; ?>"><input type="hidden" name="fa_id" value="<?php echo $fa_id; ?>"><div class="tbl_frm01 tbl_wrap">    <table>    <caption><?php echo $g5['title']; ?></caption>    <colgroup>        <col class="grid_4">        <col>    </colgroup>    <tbody>    <tr>        <th scope="row"><label for="fa_order">출력순서</label></th>        <td colspan="3">            <?php echo help('숫자가 작을수록 솔루션 페이지에서 먼저 출력됩니다.'); ?>            <input type="text" name="fa_order" value="<?php echo $fa['fa_order']; ?>" id="fa_order" class="frm_input" maxlength="10" size="10">            <?php if ($w == 'u') { ?><a href="<?php echo G5_BBS_URL; ?>/solution.php?fm_id=<?php echo $fm_id; ?>" class="btn_frmline">내용보기</a><?php } ?>        </td>    </tr>    <tr>        <th scope="row">질문</th>        <td colspan="3"><input type="text" name="fa_subject" value="<?php echo get_text($fa['fa_subject']); ?>" style="width:99%; height:40px;" id="fa_subject" /></td>    </tr>  <?php   for ($i=0; $row2=sql_fetch_array($result2); $i++)   {    $num = $i + 1;  ?>        <tr>     <th scope="row">답변 <?php echo $num; ?><input type="text" name="fs_id" value="<?php echo $num; ?>" id="fs_id"></th>        <td width="70%"><input type="text" name="fs_example" value="<?php echo get_text($row2['fs_example']); ?>" style="width:100%; height:40px;" id="fs_example" /></td>        <td>점수:          <select style="width:80px; height:40px;" id="fs_point" />                <option value="1">1점</option>                <option value="2">2점</option>                <option value="3">3점</option>                <option value="4">4점</option>                <option value="5">5점</option>   </select></td>        <td>이동할 질문 번호 : <input type="text" value="<?php echo get_text($row2['fs_move']); ?>" style="width:90px; height:40px;" id="fs_move" /></td> </tr>        <?php    }    if ($i == 0) {        echo '<tr><td colspan="4" class="empty_table">자료가 없습니다.</td></tr>';    }      ?>                 </tbody>    </table>    <table id="mytable" width="100%" align="left" cellspacing="0">    </table>    <a href="javascript:add_row()">입력폼 추가</a> | <a href="javascript:delete_row()">입력폼 삭제</a></div><div class="btn_confirm01 btn_confirm">    <input type="submit" value="확인" class="btn_submit" accesskey="s">    <a href="./solutionlist.php?fm_id=<?php echo $fm_id; ?>">목록</a></div></form><script>function frmsolutionform_check(f){    errmsg = "";    errfld = "";    //check_field(f.fa_subject, "질문을 입력하세요.");    //check_field(f.fa_example+index, index "답변을 입력하세요.");    if (errmsg != "")    {        alert(errmsg);        errfld.focus();        return false;    }    <?php echo get_text('fa_subject'); ?>    <?php echo get_text('fs_example'); ?>    <?php echo get_text('fs_move'); ?>    return true;}// document.getElementById('fa_order').focus(); 포커스 해제</script><script>var index    = <?php echo $total_count; ?> + 1;var objCreateNumber  = 5;//갯수function add_row() {  if ( index > objCreateNumber ) return;  mytable = document.getElementById('mytable'); row = mytable.insertRow(mytable.rows.length);  cell1 = row.insertCell(0); cell2 = row.insertCell(1); cell3 = row.insertCell(2); cell4 = row.insertCell(3);  cell1.innerHTML = '<input type="text" name="fs_id" value="'+index+'">'; cell2.innerHTML = '<b style="padding-right:150px;">답변 '+index+'</b><input type="text" name="fs_example" style="width:1290px; height:40px;" />'; cell3.innerHTML = '점수 : <select name="fa_point" style="width:80px; height:40px;"><option value="1">1점</option><option value="2">2점</option><option value="3">3점</option></select>'; cell4.innerHTML = '이동할 질문 번호 : <input type="text" name="fa_move" style="width:90px; height:40px;" />';  index++;}function delete_row() { mytable = document.getElementById('mytable');  if (mytable.rows.length < 1 ) return;  mytable.deleteRow(mytable.rows.length - 1);    index = index - 1;}</script>

 

 

 

디비를 올려주는 페이지 소스입니다.

Copy
<?php$sub_menu = '400200';include_once('./_common.php');if ($w == "u" || $w == "d")    check_demo();if ($W == 'd')    auth_check($auth[$sub_menu], "d");else    auth_check($auth[$sub_menu], "w");$sql_common = " fa_subject = '$fa_subject',                fa_order = '$fa_order' ";      $sql_common2 = " fs_example = '$fs_example',     fs_point = '$fs_point',     fs_move = '$fs_move'"; if ($w == ""){    $sql = " insert {$g5['solution_list_table']}                set fm_id ='$fm_id',                    $sql_common ";    sql_query($sql);    $fa_id = mysql_insert_id();///////////////////////////////////////////////////////  $sql2 = " insert {$g5['solution_table']}    set fs_id ='$fs_id',     $sql_common2 "; sql_query($sql2); $fs_id = mysql_insert_id();}else if ($w == "u"){    $sql = " update {$g5['solution_list_table']}                set $sql_common    where fa_id = '$fa_id' ";    sql_query($sql); $sql2 = " update {$g5['solution_table']}    set $sql_common2    where fs_id = $fs_id"; sql_query($sql2); $fs_id = mysql_insert_id();}else if ($w == "d"){ $sql = " delete from {$g5['solution_list_table']} where fa_id = '$fa_id' ";    sql_query($sql);}if ($w == 'd')    goto_url("./solutionlist.php?fm_id=$fm_id");else    goto_url("./solutionform.php?w=u&amp;fm_id=$fm_id&amp;fa_id=$fa_id");?>

답변 1개

채택된 답변
+20 포인트

<input type="text" name="fs_id" value="<?php echo $num; ?>" id="fs_id"> 


이부분을

<input type="text" name="fs_id[<?=$i?>]" value="<?php echo $num; ?>" id="fs_id">


이런식으로 변경하셔야 하고


입력 부분도 for 문이나 foreach 문으로 반복해서 업데이트해주셔야 합니다.


로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고