/** * 项目新增方法 */ public function item_add() { $setup = I('get.set'); $itemid = I('get.itemid'); if ($itemid) { $item = M('item')->where(array('id' => $itemid))->find(); $this->item = $item; $this->tagsid = M('itemTag')->where(array('itemid' => $itemid))->getField('tagid', true); $nowcate = getupcate($item['cid']); sort($nowcate); $this->nowcate = $nowcate; } $this->itemid = $itemid; switch ($setup) { case 2: $this->display('item_add_set2'); break; case 3: $item['prove'] = M('item_prove')->where(array('itemid' => $itemid))->select(); $item['video'] = M('item_video')->where(array('itemid' => $itemid))->getField('url'); $this->item = $item; $this->display('item_add_set3'); break; case 4: $this->display('item_add_set4'); break; default: $top = M('item_category')->where(array('pid' => 0, 'status' => 1))->select(); $this->tags = M('tags')->where(array('status' => 1))->select(); $this->cate = $top; $this->display(); } }
function getupcate($id) { $cate = M('item_category')->order('pid asc')->select(); $arr = array(); foreach ($cate as $v) { if ($v['id'] == $id) { $arr[] = $v; $arr = array_merge($arr, getupcate($v['pid'])); } } return $arr; }