/** * 获取外键数据来源 * @param string $key 指定key获取 * @return array|string 获取到的数据或指定key的值 */ public function getSysmodule($key = '') { $sysmoduleDB = new SysmoduleModelDB(); if (empty($key)) { $sql = "SELECT `id`,`name` FROM `" . $sysmoduleDB->getTableName() . "`"; $sysmoduleModelDBArr = $sysmoduleDB->getData($sql); $data = Common::createArr($sysmoduleModelDBArr, 'id', 'name'); } else { $sql = "SELECT `name` FROM `" . $sysmoduleDB->getTableName() . "` WHERE `id` = ?"; $data = $sysmoduleDB->getFirst($sql, array($key)); } return $data; }
public function view() { $sysmoduleDB = new SysmoduleModelDB(); //普通条件,检查GET参数 $fieldArr = $sysmoduleDB->getFields(); foreach ($fieldArr as $v) { if ($_GET[$v] !== null) { $where[] = "`{$v}` = ?"; $whereArr[] = $_GET[$v]; } } $whereStr = count($where) > 0 ? implode(" AND ", $where) : '1=1'; if ($_GET['_search_field'] != '' && in_array($_GET['_search_field'], $fieldArr) && $_GET['_search_keyword'] != '') { $whereStr = $whereStr == '1=1' ? $_GET['_search_field'] . " LIKE ?" : $whereStr . " AND " . $_GET['_search_field'] . " LIKE ?"; $whereArr[] = "%" . $_GET['_search_keyword'] . "%"; } //排序条件 $orderStr = '`id` DESC'; if (!empty($_POST['order'])) { foreach ($_POST['order'] as $k => $v) { $orderArr[] = "`{$k}` {$v}"; } $orderStr = implode(',', $orderArr); } //查询操作 $sql = "SELECT * FROM `" . $sysmoduleDB->getTableName() . "` WHERE {$whereStr} ORDER BY {$orderStr}"; $data = $sysmoduleDB->getData($sql, $whereArr, 20); $pageStr = $sysmoduleDB->getPageStr(); $pageJump = $sysmoduleDB->getPageJump(); //读取外键数据 $requiredDictFkArr = DictConfig::$required; $this->setView('requiredDictFkArr', $requiredDictFkArr); //模版显示 $this->setView('pageStr', $pageStr); $this->setView('pageJump', $pageJump); $this->setView('data', $data); $this->display('Sysmodule.html'); }
<?php /** * @Copyright (c) 2011, 新浪网运营部-网络应用开发部 * All rights reserved. * 根据新增的系统module,添加到原有项目中 * @author wangxin <*****@*****.**> * @time 2011/3/2 15:03 * @version Id: 0.9 */ require dirname(__FILE__) . "/global.php"; $moduleDB = new ModuleModelDB(); $sysmoduleDB = new SysmoduleModelDB(); $sysmoduleArr = $sysmoduleDB->getData("SELECT * FROM `" . $sysmoduleDB->getTableName() . "`"); $projectDB = new ProjectModelDB(); $projectArr = $projectDB->getData("SELECT * FROM `" . $projectDB->getTableName() . "`"); foreach ($projectArr as $v) { $moduleArr = $moduleDB->getData("SELECT * FROM `" . $moduleDB->getTableName() . "` WHERE `pid` = ?", array($v['id'])); $moduleIdArr = array(); foreach ($moduleArr as $vv) { $moduleIdArr[] = $vv['sys_mid']; } foreach ($sysmoduleArr as $vv) { if (!in_array($vv['id'], $moduleIdArr)) { $insertArr = array(); $insertArr['pid'] = $v['id']; $insertArr['sys_mid'] = $vv['id']; $insertArr['level'] = $vv['level']; $insertArr['sms_limit'] = $vv['sms_limit']; $insertArr['mail_limit'] = $vv['mail_limit']; $insertArr['sms_status'] = 1;