最新文章管理功能的步驟算是很簡單的應用,和題組一的後台幾乎一模一樣,只差在沒有內容編輯的要求而已,因此只要熟悉題組一的解法,這邊就照著做即可:
在製作前台的分類網誌功能時已經先匯入文章到資料庫了,因此項目一算是送分
在類別中建立後台文章管理頁面需要使用到的變數
/Controller/News.php1
2
3
4
5
6
7
8
9
10
11function backend(){
$data=[
'rows'=>$this->paginate(3),
'links' =>$this->links(),
//計算分頁起始的文章編號值
'start'=>($this->links['now']-1)*$this->links['num']+1
];
$this->view("./view/backend/news.php",$data);
}建立後台文章列表及分頁連結
/view/backend/news.php1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33<form action="./api/news_admin.php" method='post'>
<table class="ct" style="width:75%;margin:auto">
<tr>
<td>編號</td>
<td>標題</td>
<td>顯示</td>
<td>刪除</td>
</tr>
<?php
foreach($rows as $key=> $row){
<tr>
<td>$start+$key; </td>
<td>$row['title']; </td>
<td>
<input type="checkbox" name="sh[]" value="<?=$row['id'];?>" ($row['sh']==1)?"checked":""; >
</td>
<td>
<input type="checkbox" name="del[]" value="<?=$row['id'];?>">
</td>
<!--加入隱藏欄位id,用來確保此分頁的所有資料都有一個代表的值-->
<input type="hidden" name="id[]" value="<?=$row['id'];?>">
</tr>
}
</table>
<!--顯示分頁連結html碼-->
<div class="ct"><?=$links;?></div>
<div class="ct">
<input type="submit" value="確定修改">
</div>
</form>
- 建立
./api/news_admin.php
檔案來處理文章編輯表單傳過來的資料
api/news.php1
2
3
4
5
6
7
8
9
10
11
12
13include_once "../base.php";
foreach($_POST['id'] as $id){
if(isset($_POST['del']) && in_array($id,$_POST['del'])){
$News->del($id);
}else{
$row=$News->find($id);
$row['sh']=(isset($_POST['sh']) && in_array($id,$_POST['sh']))?1:0;
$News->save($row);
}
}
to("../backend.php?do=news");