鍍金池/ 問(wèn)答/PHP/ 我想問(wèn)下這類php情況該如何優(yōu)化代碼?

我想問(wèn)下這類php情況該如何優(yōu)化代碼?

我把新增編輯內(nèi)容頁(yè)面做在同一個(gè)頁(yè)面上,然后html賦值已填寫(xiě)的東西,但新增頁(yè)面是沒(méi)有任何默認(rèn)值的,我就像如下做法,覺(jué)得自己很傻一定有什么辦法解決的

public function aeCard(Request $Request , GiftList $GiftList){
        $Card = Model('Card');
        $id = $Request->route('id','0');
        $post = $Request->post();
        if(!$id){
            if(!$post){
                $info['name'] = '';
                $info['banner'] = '';
                $info['utype'] = 0;
                $info['frequency'] = 0;
                $info['eventshare'] = 0;
                $info['clickshare'] = 0;
                $info['type'] = 0;
                $info['atype'] = 0;
                $info['state'] = 1;
                $info['starttime'] = date('Y-m-d') . ' 00:00:00';
                $info['endtime'] = date('Y-m-d') . ' 23:59:59';
                $info['mid'] = 'null';
                $info['id'] = 0;
                $info['cid'] = 'null';
                $info['qrcode'] = 0;
                $info['description'] = '';
                $info['notluck'] = 0;
                $info['giftdata'] = '';
                $info['qrcodedata'] = '0';
                $info['background'] = '0';
                $info['backgroundcolor'] = '';
                $this->assign('info',$info);
                $this->assign('id',0);
                return $this->fetch('ae_card');
            }
        }else{
            $info = $Card->CardInfo($id);
            $info['starttime'] = date('Y-m-d H:i:s',$info['starttime']);
            $info['endtime'] = date('Y-m-d H:i:s',$info['endtime']);
            $giftData = $GiftList->gainActivityGift($id);
            $giftData = array_column($giftData,'id');
            $info['giftdata'] = implode(',',$giftData);
            $info['qrcodedata'] = json_encode(Model('Qrcodeshare')->queryActivity($id));
            $this->assign('info',$info);
            $this->assign('id',$id);
            return $this->fetch('ae_card');
        }
    }
回答
編輯回答
刮刮樂(lè)

去mysql設(shè)置對(duì)應(yīng)字段的默認(rèn)值

2017年4月21日 05:07
編輯回答
初心

后端:如果有 id ,通過(guò) id 獲取數(shù)據(jù),并賦值給頁(yè)面模板變量,比如 $info;
前端頁(yè)面:
方式一:默認(rèn)新增,給每個(gè)表單元素值的時(shí)候,判斷 $info 里是否有對(duì)應(yīng)的值,有則填上,沒(méi)有則給一個(gè)默認(rèn)值;
方式二:頁(yè)面中的表單元素默認(rèn)都給默認(rèn)值,頁(yè)面渲染完畢后,js 判斷 $info ,依次遍歷賦值

2018年9月11日 08:38
編輯回答
若相惜

新增時(shí)直接賦值為空就好

$info = [];

頁(yè)面表單在輸出的時(shí)候做下判斷

<input type="text" name="name" value="<?=isset($info['name'])?$info['name']:'';?>">

如果使用模板的話,模板一般都把判斷的工作做了,比如thinkphp的模板語(yǔ)法

<input type="text" name="name" value="{$info.name|default=''}">

smarty是這樣的

<input type="text" name="name" value="{$info.name|default:''}">
2017年2月22日 07:23