히든 프레임으로 db 업데이트 시키기 > 그누보드5 팁자료실

그누보드5 팁자료실

히든 프레임으로 db 업데이트 시키기 정보

히든 프레임으로 db 업데이트 시키기

본문

<form name="frmsavelist" method="post">
<input type=hidden name=tbName>
<input type=hidden name=act>
<input type=hidden name=fieldName>
<input type=hidden name=fieldValue>
<input type=hidden name=idxName>
<input type=hidden name=idxValue>
</form>

$f_benefit_count="<br><select name='od_rc_benefit' style='width:60px; height:18px; font-family:dotum; font-size:11px; color:#828282' $disabled itemname='수당' onChange=\"db_action('".$g4[yc4_order_table]."','u',this.name,this.value,'od_id','".$row[od_id]."');\">\n";
--------------------------

function db_action(tbName, act, fieldName, fieldValue, idxName, idxValue) {
//    alert(tbName + " : " +act+ " : " +fieldName+ " : " +fieldValue+ " : " +idxName+ " : " +idxValue);
        var f=document.frmsavelist;
        f.tbName.value = tbName;
        f.act.value = act;
        f.fieldName.value = fieldName;
        f.fieldValue.value = fieldValue;
        f.idxName.value = idxName;
        f.idxValue.value = idxValue;

//    alert(f.tbName.value + " : " +f.act.value+ " : " +f.fieldName.value+ " : " +f.fieldValue.value+ " : " +f.idxName.value+ " : " +f.idxValue.value);
        
        f.target = "hiddenframe";
        f.action="../db_action.php";
        f.submit();

//        document.hiddenframe.location.href = "../db_action.php" +"?tbName=" + tbName + "&action=" + action + "&fieldName=" + fieldName +"&fieldValue=" + fieldValue +"&idxName=" + idxName +"&idxValue=" + idxValue;
}


--------------------------
db

<?
include_once "./_common.php";
include_once("$g4[path]/lib/lib.php");
include_once "$g4[path]/head.sub.php";

//?fieldName=" + fieldName +"&fieldValue=" + fieldValue +"&idxName=" + idxName +"&idxValue=" + idxValue

if($act == 'u') {
    sql_query("UPDATE $tbName SET $fieldName = '$fieldValue' WHERE $idxName = '$idxValue'");
    echo "UPDATE $tbName SET $fieldName = '$fieldValue' WHERE $idxName = '$idxValue'";
?>
<script language="JavaScript">

//parent.document.getElementById("subject_<?= $in_id?>").src="<?=$g4[path]?>/img/in_state<?=$in_state?>.gif";
//parent.document.getElementById("in_state_<?= $in_id?>").src="<?=$g4[path]?>/img/in_state<?=$in_state?>.gif";

//$(this).parent().children("#in_state_<?= $in_id?>).src="<?=$g4[path]?>/img/in_state<?=$in_state?>.gif";
//window.status = "수정되었습니다.";
//alert("<? echo "UPDATE $tbName SET $fieldName = '$fieldValue' WHERE $idxName = '$idxValue'";?>");
alert("[<?=$fieldValue?>] 저장완료 되었습니다.");
</script>
<?
//alert_close($returnmsg, $returnurl);
}
else if ($w == "d")
{
    $sql = "delete from $g4[rc_inquiry_table] where in_id = '$in_id' ";
    sql_query($sql);

    $returnmsg = "상담문의가 삭제되었습니다.";
    $returnurl = "inquiry.list.php?in_id=$in_id" . $qstr;

alert($returnmsg, $returnurl);
}
//echo $sql."<br>";

include_once "$g4[path]/tail.sub.php";
?>


 

추천
2

댓글 4개

ajax의 정의를 조금 잘못알고계신것같습니다
해당소스를 보면 결국은 action을 하기때문에 페이지 이동이 발생해서 페이지 refresh가 일어납니다
결국 form page > update page > view page 루트 타는것 동일한것같네요

ajax는 이러한 페이지 이동없이 비동기로 접근하여 데이터 입력/출력을 가져와서 화면에 뿌려주는 역활을 수행할 수 있어서 말씀하신 다음페이지로 넘어가지않고(깜박임없이) 지금 보는 화면 그대로에 데이터를 갱신/추가하기에 더욱 적합한 기법입니다
그렇군요 아작스를 마스터해야 겠는데 너무 힘들어요 좋은 소스 모와두신거 없으신가요 술한떡 소겠습니다. 메일주소 *** 개인정보보호를 위한 이메일주소 노출방지 ***
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT