/***************************************************后台交互**************************************************//** * 状态切换 * @param {object} obj * @param {object} table * @param {object} fieldandvalue * @param {object} wherefieldandid */function switchstatus (obj, table, fieldandvalue, wherefieldandid){ var val = (obj.src.match(/yes.gif/i)) ? 0 : 1; fieldandvalue += '##'+ val; $.post('/wxbackend/common/switchstatus/flag/0', {'table' : table, 'fieldandvalue' : fieldandvalue, 'wherefieldandid' : wherefieldandid}, function(data){ if (data > 0) { if (fieldandvalue.indexof('1') > 0) obj.src = '/images/yes.gif'; else obj.src = '/images/no.gif'; } });}/** * 编辑单个字段 * @param {object} obj * @param {object} table * @param {object} fieldandvalue * @param {object} wherefieldandid */function editfield(obj, table, fieldandvalue, wherefieldandid) { var tag = obj.firstchild.tagname; if (typeof(tag) != undefined && tag.tolowercase() == input) { return; } /* 保存原始的内容 */ var org = obj.innerhtml; var val = browser.isie ? obj.innertext : obj.textcontent; /* 创建一个输入框 */ var txt = document.createelement(input); txt.value = (val == 'n/a') ? '' : val; txt.style.width = (obj.offsetwidth + 12) + px ; /* 隐藏对象中的内容,并将输入框加入到对象中 */ obj.innerhtml = ; obj.appendchild(txt); txt.focus(); /* 编辑区输入事件处理函数 */ txt.onkeypress = function(e) { var evt = utils.fixevent(e); var obj = utils.srcelement(e); if (evt.keycode == 13) { obj.blur(); return false; } if (evt.keycode == 27) { obj.parentnode.innerhtml = org; } } /* 编辑区失去焦点的处理函数 */ txt.onblur = function(e) { if (utils.trim(txt.value).length > 0 && txt.value != org) { fieldandvalue += '##'+ utils.trim(txt.value); $.post('/wxbackend/common/switchstatus/flag/1', {'fieldandvalue' : fieldandvalue, 'table' : table, 'wherefieldandid' : wherefieldandid}, function(data){ obj.innerhtml = (data != '') ? data : org; }, 'text'); } else { obj.innerhtml = org; } }}/** * 修改单条记录 * @param {object} obj * @param {object} table * @param {object} fieldlist * @param {object} wherefieldandid */function updaterowbyprimarykey(obj, table, fieldlist, wherefieldandid){ var fields = new array(); fields = fieldlist.split(,); var fieldandvalue = ''; for (i=0;i' + $('#'+fields[i]).val() + '##'; } fieldandvalue = fieldandvalue.substring(0, fieldandvalue.length - 2); $.post('/wxbackend/common/insertneworupdaterow/option/update', {'table' : table, 'fieldandvalue' : fieldandvalue, 'wherefieldandid' : wherefieldandid}, function(data){ if (data == 1) alert('添加成功!'); else alert('失败!'); } );}/** * 获取数据 * @param {object} table * @param {object} fieldlist ,分隔 * @param {object} wherefieldandid */function selectdata(table, fieldlist, wherefieldandid){ $.post('/wxbackend/common/selectdata', {'table' : table, 'fieldlist' : fieldlist, 'wherefieldandid' : wherefieldandid}, function(data){ if (data != '') return json.parse(data); else return ''; } ,'text');}/** * 新增单条记录 * @param {object} obj * @param {object} table * @param {object} fieldlist ,分隔 */function insertnewrow(table, fieldlist){ var fields = new array(); fields = fieldlist.split(,); var fieldandvalue = ''; for (i=0;i' + $('#'+fields[i]).val() + '##'; } fieldandvalue = fieldandvalue.substring(0, fieldandvalue.length - 2); $.post('/wxbackend/common/insertneworupdaterow', {'table' : table, 'fieldandvalue' : fieldandvalue}, function(data){ if (data == 1) alert('添加成功!'); else alert('失败!'); });}/** * 删除单条记录 通过主键 * @param {object} obj * @param {object} table * @param {object} wherefieldandid */function delrowbyprimarykey(obj, table, wherefieldandid){ $.post('/wxbackend/common/delrowbyprimarykey', {'table' : table, 'wherefieldandid' : wherefieldandid}, function(data){ if (data > 0) { var parentobj = obj.parentnode; parentobj.parentnode.remove(); }else alert('删除失败!!'); });}
php:
/** * 公用状态切换 */ public function actionswitchstatus($flag) { $this->checkprivilege('actionswitchstatus'); $table = isset($_post['table']) ? '{{'.trim($_post['table']).'}}' : ''; if (empty($table)) die('0'); $fieldandvalue = isset($_post['fieldandvalue']) ? explode('##', trim($_post['fieldandvalue'])) : ''; $wherefieldandid = isset($_post['wherefieldandid']) ? explode('#', trim($_post['wherefieldandid'])) : ''; if($table == '{{milk_order}}' && $fieldandvalue[0] == 'best_time'){//订奶特殊情况 $fieldandvalue[1] = strtotime($fieldandvalue[1]); } $sql = update $table set {$fieldandvalue[0]} = :val where {$wherefieldandid[0]} = :idval; $data = array('val'=>$fieldandvalue[1], 'idval'=>$wherefieldandid[1]); $num = yd_mysqlutil::yd_execute($sql, $data); if($flag == 1){ $sql = select {$fieldandvalue[0]} from $table where {$wherefieldandid[0]} = {$wherefieldandid[1]}; $result = yd_mysqlutil::yd_getone($sql); if($table == '{{milk_order}}' && $fieldandvalue[0] == 'best_time'){//订奶特殊情况 $result = date('y-m-d h:i:s',$result); } //修改运费同时修改面运费优惠券金额 if ($table == '{{system_setting}}' && ({$wherefieldandid[0]} = {$wherefieldandid[1]} == 'id = 6') && ('`value`' == $fieldandvalue[0])) { $sql = 'update {{coupon}} set resist_money = :money where cou_type = 9'; yd_mysqlutil::yd_execute($sql, array('money'=>$fieldandvalue[1])); } echo $result; //echo $fieldandvalue[1]; }else echo $num; $content = yii::app()->session['yd[admin_name]'].'修改表:'.$table.'的'.$wherefieldandid[0].'=>'.$wherefieldandid[1].'记录的'.$fieldandvalue[0].'=>'.$fieldandvalue[1].'字段'; ydlib::admin_log($content); } /** * 获取数据 */ public function actionselectdata() { $this->checkprivilege('actionselectdata'); $table = isset($_post['table']) ? '{{'.trim($_post['table']).'}}' : ''; if (empty($table)) die('0'); $fieldlist = isset($_post['fieldlist']) ? trim($_post['fieldlist']) : ''; $wherefieldandid = isset($_post['wherefieldandid']) ? explode('#', trim($_post['wherefieldandid'])) : ''; $sql = select $fieldlist from $table where {$wherefieldandid[0]}; switch ($wherefieldandid[1]) { case 'getone': $data = yd_mysqlutil::yd_getone($sql); break; case 'getrow': $data = yd_mysqlutil::yd_getrow($sql); break; case 'getall': $data = yd_mysqlutil::yd_getall($sql); break; default: $data = yd_mysqlutil::yd_getcolumn($sql); break; } echo phptool::_tojson($data); } /** * ajax 添加修改新纪录 */ public function actioninsertneworupdaterow($option = 'insert'){ $this->checkprivilege('actioninsertneworupdaterow'); $table = isset($_post['table']) ? '{{'.trim($_post['table']).'}}' : ''; if (empty($table)) die('0'); $fieldandvalue = isset($_post['fieldandvalue']) ? explode('##', trim($_post['fieldandvalue'])) : ''; if (!empty($fieldandvalue)) { if ($option == 'insert') { $data = array(); foreach ($fieldandvalue as $value){ list($key, $val) = explode('=>', $value); $data[$key] = $val; } echo yd_mysqlutil::yd_insertinto($table, $data) ? '1' : '0'; $content = yii::app()->session['yd[admin_name]']. $option $table {$_post['fieldandvalue']}; ydlib::admin_log($content); }else { $wherefieldandid = isset($_post['wherefieldandid']) ? explode('#', trim($_post['wherefieldandid'])) : ''; $data = array(); foreach ($fieldandvalue as $value){ list($key, $val) = explode('=>', $value); $data[$key] = $val; } $where = {$wherefieldandid[0]} = {$wherefieldandid[1]} ; echo yd_mysqlutil::yd_updateset($table, $data, $where) ? '1' : '0'; $content = yii::app()->session['yd[admin_name]']. $option $table {$_post['fieldandvalue']} {$_post['wherefieldandid']}; ydlib::admin_log($content); } } } /** * delrowbyprimarykey */ public function actiondelrowbyprimarykey() { $this->checkprivilege('actiondelrowbyprimarykey'); $table = isset($_post['table']) ? '{{'.trim($_post['table']).'}}' : ''; if (empty($table)) die('0'); $wherefieldandid = isset($_post['wherefieldandid']) ? explode('#', trim($_post['wherefieldandid'])) : ''; $sql = delete from $table where {$wherefieldandid[0]} = :val; $data = array('val'=>$wherefieldandid[1]); $num = yd_mysqlutil::yd_execute($sql, $data); $content = yii::app()->session['yd[admin_name]'].'通过主键'.$wherefieldandid[0].' 删除 表:'.$table.'记录:'.$wherefieldandid[1]; ydlib::admin_log($content); echo $num == 0 ? 0 : 1; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了js ajax 后台交互,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
