網站開發(八)後臺新增欄目的新增和顯示
效果如下
新增欄目它的過程是先將資料提交到資料庫,然後資料庫返回回來顯示
可以看出下圖資料庫中也存在了欄目、
欄目新增
一、Cate控制器中加控制add的程式碼
1.進入Cate的控制器
2.新增控制add.html程式碼
public function add(){
$cate=D('cate');//例項化資料庫,提交到cate表裡面,$cate代表變數
if(IS_POST){//如果檢測到傳送(IS_POST)代表傳送的意思
$data['cate_name']=I('cate_name' );
//dump($data);die();
if($cate->create($data)){
if($cate->add()){
$this->success('新增欄目成功',U(lst));
}
else{
$this->error('新增欄目失敗');
}
}
else {
$this->error($cate->getError());
}
return;
}
$this->display();//顯示網頁
}
完成php程式碼接下去就要修改前端的表單程式碼
因為是通過表單提交
1. 進入add.html
2.找到form表單
3.需要改兩處位置
- -1.input標籤的name屬性–>修改成資料庫中的name(cate_name)
- -2.form標籤的action屬性–>action的屬性為空
以上操作就完成了欄目的新增(已經新增到資料庫中)
接下去就是欄目顯示(在lst頁面顯示)
就是從資料庫讀資料
欄目列表顯示(迴圈資料)
一、Cate控制器中加控制lst的程式碼
因為View中的Cate下並沒有index.html,所以直接將index函式改成lst函式
Cate控制器中寫對lst的程式碼
public function lst(){
$cate=D('cate');
$cates=$cate->select();
$this->assign('cates',$cates);
$this->display();
}
1 . 控制器寫完接下去就是去lst.html寫顯示出來的程式碼
2 .進入lst.html找到顯示ID/標題/操作的程式碼位置(table)
3. 找到table標籤所圍成的程式碼
4.發現table中有兩段,一段代表標題,一段代表資料
5.需要做的是迴圈資料,找到資料所圍成的tr,在tr外巢狀
6.< volist >< / volist> 這個標籤代表迴圈資料
7.< volist name=”cates” id=”vo”>屬性name的cates名字必須和Cate控制器中lst函式中的this−>assign(′cates′, cates);引號中的名字一樣,資料就迴圈了
8.資料迴圈了,還有一點就是lst中的資料都是靜態的,我們需要改成動態的資料
9.下面我把整個table的程式碼貼出來,可以自己分析一下
<table class="result-tab" width="100%">
<tr>
<th class="tc" width="5%"><input class="allChoose" name="" type="checkbox"></th>
<th>ID</th>
<th>標題</th>
<th>操作</th>
</tr>
<volist name="cates" id="vo">
<tr>
<td class="tc"><input name="id[]" value="58" type="checkbox"></td>
<td>{$vo.cate_id}</td>
<td>{$vo.cate_name}</td>
<td>
<a class="link-update" href="__CONTROLLER__/edit/id/{$vo.cate_id}">修改</a>
<a class="link-del" href="__CONTROLLER__/del/id/{$vo.cate_id}" onclick="return confirm('你要刪除欄目{$vo.cate_name}嗎?');">刪除</a>
</td>
</tr>
</volist>
</table>
以上程式碼只需要看ID 和標題,修改和刪除部分後面再說
欄目新增和顯示完成,接下去會寫刪除欄目操作