히든 프레임으로 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개
어디에 활용할지 여쭤봐도 될까요
해당소스를 보면 결국은 action을 하기때문에 페이지 이동이 발생해서 페이지 refresh가 일어납니다
결국 form page > update page > view page 루트 타는것 동일한것같네요
ajax는 이러한 페이지 이동없이 비동기로 접근하여 데이터 입력/출력을 가져와서 화면에 뿌려주는 역활을 수행할 수 있어서 말씀하신 다음페이지로 넘어가지않고(깜박임없이) 지금 보는 화면 그대로에 데이터를 갱신/추가하기에 더욱 적합한 기법입니다