JS ajax 后台交互

来源:互联网 发布:淘宝胖人服饰专卖店 编辑:程序博客网 时间:2024/05/21 06:39
/***************************************************后台交互**************************************************//** * 状态切换 * @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.length ;i++){fieldAndValue += fields[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.length ;i++){fieldAndValue += fields[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;}


0 0
原创粉丝点击