/** * * 获取需要的条件 */ private function get_condition() { //搜索标签 if ($this->input['searchtag_id']) { $searchtag = $this->searchtag_detail(intval($this->input['searchtag_id'])); foreach ((array) $searchtag['tag_val'] as $k => $v) { if (in_array($k, array('_id'))) { //防止左边栏分类搜索无效 continue; } $this->input[$k] = $v; } } //搜索标签 if (isset($this->input['k']) && !empty($this->input['k']) || (trim($this->input['key']) || trim(urldecode($this->input['key'])) == '0')) { if (isset($this->input['k']) && !empty($this->input['k'])) { $key = trim($this->input['k']); } elseif (trim($this->input['key']) || trim(urldecode($this->input['key'])) == '0') { $key = trim($this->input['key']); } $binary = ''; //不区分大小些 if (defined('IS_BINARY') && !IS_BINARY) { $binary = 'binary '; } $condition .= ' AND ' . $binary . ' title like \'%' . $key . '%\''; $memberMySet = new memberMySet(); $markInfo = $memberMySet->show($condition, 0, 0, 'mark', 'mark', '', 0); $this->memberMyData->setParams('mark', $markInfo, 'myd'); } else { $this->input['mark'] && ($TParams = $this->memberMyData->setMark(trim($this->input['mark']))); if ($TParams == -3) { $this->errorOutput(PROHIBIT_CN); } elseif ($TParams == -4) { $this->errorOutput(MARK_CHARACTER_ILLEGAL); } elseif ($TParams == -5) { $this->errorOutput(MARK_ERROR); } else { if (trim($this->input['mark']) == $TParams) { $this->memberMyData->setParams('mark', null, 'myd'); } } } $this->memberMyData->setJoin(' LEFT JOIN ' . DB_PREFIX . 'member_myset as mms ON myd.mark=mms.mark'); if (isset($this->input['member_name']) && ($member_name = trimall($this->input['member_name']))) { $members = new members(); $member_id = $members->get_member_id($member_name, false); $member_id && $this->memberMyData->setParams('member_id', $member_id, 'myd'); !$member_id && $this->errorOutput(NO_MEMBER); } $this->memberMyData->setJoin(' LEFT JOIN ' . DB_PREFIX . 'member as m ON myd.member_id=m.member_id'); if (isset($this->input['search']) && ($search = $this->input['search'])) { $this->memberMyData->setParamType('search', 'fuzzy', 1, 'myd'); $this->memberMyData->setParams('search', $search, 'myd'); } if ($this->input['start_time']) { $start_time = strtotime(trim(urldecode($this->input['start_time']))); $condition = " AND myd.create_time >= " . $start_time; $this->memberMyData->setSql()->where($condition); } if ($this->input['end_time']) { $end_time = strtotime(trim(urldecode($this->input['end_time']))); $condition = " AND myd.create_time <= " . $end_time; $this->memberMyData->setSql()->where($condition); } if (isset($this->input['date_search']) && !empty($this->input['date_search'])) { $today = strtotime(date('Y-m-d')); $tomorrow = strtotime(date('y-m-d', TIMENOW + 24 * 3600)); switch (intval($this->input['date_search'])) { case 1: //所有时间段 break; case 2: //昨天的数据 $yesterday = strtotime(date('y-m-d', TIMENOW - 24 * 3600)); $condition = " AND myd.create_time > '" . $yesterday . "' AND myd.create_time < '" . $today . "'"; $this->memberMyData->setSql()->where($condition); break; case 3: //今天的数据 $condition = " AND myd.create_time > '" . $today . "' AND myd.create_time < '" . $tomorrow . "'"; $this->memberMyData->setSql()->where($condition); break; case 4: //最近3天 $last_threeday = strtotime(date('y-m-d', TIMENOW - 2 * 24 * 3600)); $condition = " AND myd.create_time > '" . $last_threeday . "' AND myd.create_time < '" . $tomorrow . "'"; $this->memberMyData->setSql()->where($condition); break; case 5: //最近7天 $last_sevenday = strtotime(date('y-m-d', TIMENOW - 6 * 24 * 3600)); $condition = " AND myd.create_time > '" . $last_sevenday . "' AND myd.create_time < '" . $tomorrow . "'"; $this->memberMyData->setSql()->where($condition); break; default: //所有时间段 break; } } $this->memberMyData->setAs('myd'); }