之前的課程為了大家好理解,鋪墊了好多廢話。以后盡量就不說那么多廢話了,單刀直入了!
第一步到phpmyadmin在study數(shù)據(jù)庫下創(chuàng)建一個名為article的數(shù)據(jù)表,字段數(shù)6,并添加對應(yīng)的字段如下圖所示:
PS:添加字段的時候當(dāng)然不會只有這些選項(xiàng),為了方便插圖,被我給P掉了。A_I就是AUTO_INCREMENT的縮寫。
這里用到了新的字段類型:TEXT,之前有提到過像正文這種需要存儲的字符量多的情況下用TEXT類型。
關(guān)聯(lián)數(shù)據(jù):
這節(jié)課里講到的數(shù)據(jù)關(guān)聯(lián)的方法是一種最簡單的方法,我們在文章表article里加了一個cat_id字段,之前的欄目表category里也有一個cat_id字段,我們通過這個字段讓2個數(shù)據(jù)表之間產(chǎn)生一種聯(lián)系。只需要在發(fā)布文章的時候在cat_id里添加一條與已創(chuàng)建的欄目一致的某個ID上去,后面就可以通過article表中的cat_id來查詢所屬欄目在category表中是叫什么名字的。
打開article_list.php頁面,代碼改成如下:
打開article.php頁面,代碼改成如下:
這兩段代碼是一個頁面內(nèi)連著的,因?yàn)榫庉嬈鞯囊恍﹩栴},分開起來看得更清楚些。
打開article_add.php頁面,代碼改成如下:
運(yùn)行之后進(jìn)入添加文章頁面可以看到如下結(jié)果:
SELECT * FROM category 這段代碼本次增加了ORDER BY cat_id ASC。在對數(shù)據(jù)表進(jìn)行查詢并保存結(jié)果集的時候可以通過ORDER BY來指定排序規(guī)則。后面跟著字段名來指定由哪個字段值來排序。ASC代表著升序,DESC代表著降序。1、2、3、4這叫升序,4、3、2、1這叫降序。我們可以在數(shù)據(jù)表中選擇任意字段作為排序字段。
在本節(jié)課程中我把這段代碼加到了article.php頁內(nèi),并沒有加在article_add.php頁內(nèi)。并不是因?yàn)榧拥絘rticle_add.php頁里不可以,而是因?yàn)樵摻Y(jié)果集我們需要應(yīng)用到好幾個頁面里,如列表頁、查看頁、修改頁、添加頁。這4個頁面無一例外是通過include方式包含到了article.php頁面內(nèi),所以把這段代碼加到了article頁面內(nèi),這樣該結(jié)果集就可以在任何被include進(jìn)來的頁面內(nèi)起作用。
PS:在這里需要注意放置的位置,程序都是把代碼從上往下按順序執(zhí)行。所以需要執(zhí)行的代碼的位置在順序上也需要合理安排,不可隨意放置。比如在這里我把代碼放在了配置文件下方,其他頁面上方。
category_add.php頁面我們這次用到了新的HTML元素select標(biāo)簽(下拉選項(xiàng))。select標(biāo)簽內(nèi)含有多個option標(biāo)簽,option標(biāo)簽是該下拉選項(xiàng)中的各個值。純HTML的格式如下:
當(dāng)我們通過表單提交該下拉選項(xiàng)的時候被提交上去的值是option value=””中的值,而不是option和/option中間的文字,該文字只是用來顯示用的。
label是一個類似于名片一樣的東西,label for=”cat_id”就代表著該label是id為cat_id的表單標(biāo)簽select的名片的意思。label的作用是當(dāng)你用鼠標(biāo)點(diǎn)擊了label內(nèi)的文字的時候,鼠標(biāo)的焦點(diǎn)會移動到該label指向的表單標(biāo)簽中去。通常用于單選按鈕和復(fù)選框,因?yàn)榘粹o或者選擇框太小,通過用label指定的話可以點(diǎn)擊文字的形式選定對應(yīng)的選項(xiàng),有助于提高交互。
PS:要注意label for指向的是id,表單提交的時候的參數(shù)名卻是name不要弄混噢!
好了,接下來讓我們完成創(chuàng)建文章的功能吧。
打開article_add.php頁面,代碼改成如下。
article.php頁面,php部分的代碼改成如下:
這次新增的html標(biāo)簽有textarea,這個是文本域,與文本框的區(qū)別是可以換行。rows是行數(shù),cols是列數(shù)。文本域里的文字內(nèi)容(值)是放在textarea和/textarea之間,不放在value里。
運(yùn)行后進(jìn)入添加欄目頁面可以看到如下結(jié)果:
試著添加幾篇文章吧!
雖然文章可以添加成功了,頁面也太丑了是不是?我們來美化一下。
打開admin.css頁面增加如下代碼:
CSS具體我也不打算講,就算是送給大家了,省的一些像我這樣的人看著界面太難看鬧心。
簡單講幾個知識點(diǎn)。可以像UL,LI或者.text-input,textarea一樣通過逗號“,”連接的形式把同樣的一個CSS樣式應(yīng)用到多個class類或者h(yuǎn)tml標(biāo)簽。
可以通過.input_form ul li一樣用空格隔開的方式對.input_form內(nèi)的ul內(nèi)的li定義樣式,不用非得由class名開頭,用html標(biāo)簽開頭也可以。
運(yùn)行后可看到如下結(jié)果:
留個作業(yè):
把選擇欄目的功能實(shí)現(xiàn)成單選按鈕的形式,如下圖所示:
通過while循環(huán)出對應(yīng)的單選按鈕標(biāo)簽和和label。輸出成功之后的HTML代碼如下:
要點(diǎn):1. 單選按鈕的類型為radio
2. 當(dāng)name值相同時會被當(dāng)作一組按鈕,在同一組中只可選定一個按鈕。
3. label for對應(yīng)的是id,因此id要不同,不然無法正確對應(yīng)。
4. 真正傳遞的值是value里的值。
網(wǎng)頁題目:給產(chǎn)品經(jīng)理及UI的PHP教程丨文章管理系統(tǒng)創(chuàng)建文章(關(guān)聯(lián)數(shù)據(jù))
標(biāo)題來源:http://chinadenli.net/article0/cpdgio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站改版、網(wǎng)站導(dǎo)航、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)