回顧PHP處理圖片:借助GD擴(kuò)展 處理步驟:準(zhǔn)備畫(huà)布;分配顏色(背景,文字,干擾);操作畫(huà)布(干擾+寫(xiě)字);保存畫(huà)布(輸出+保存);銷(xiāo)毀資源。 驗(yàn)證碼:搭配session技術(shù) 商品分類(lèi)管理商品分類(lèi)顯示1. 第一件事情:一定是要先考慮如何讓用戶(hù)能夠進(jìn)行操作。新增一個(gè)商品分類(lèi)的菜單選項(xiàng),用戶(hù)可以點(diǎn)擊查看所有的商品分類(lèi)。/admin/templates/menu.html 2. 創(chuàng)建一個(gè)商品分類(lèi)的模塊,處理所有跟商品分類(lèi)相關(guān)的請(qǐng)求。/admin/category.php 3. 取出商品分類(lèi)的所有數(shù)據(jù),并在模板中顯示。 a) 創(chuàng)建一個(gè)商品分類(lèi)表對(duì)應(yīng)的類(lèi)。/admin/includes/Category.class.php b) 得到商品分類(lèi)類(lèi)的對(duì)象,操作數(shù)據(jù)庫(kù)獲取所有的商品分類(lèi)的信息。/admin/category.php?act=list c) 增加一個(gè)能夠獲取所有商品分類(lèi)的方法。/admin/includes/Category.class.php d) 在模板中顯示所有的商品分類(lèi)信息。/admin/templates/category_list.html 4. 無(wú)限級(jí)分類(lèi):在category類(lèi)中對(duì)數(shù)據(jù)進(jìn)行無(wú)限級(jí)分類(lèi)處理好。/admin/includes/Category.class.php 5. 通過(guò)level屬性來(lái)確定當(dāng)前商品分類(lèi)的縮進(jìn)信息。/admin/templates/category_list.html 添加商品分類(lèi)1. 增加一個(gè)能夠給用戶(hù)添加商品分類(lèi)的入口。/admin/templates/category_list.html 2. 接收動(dòng)作之后,處理動(dòng)作。/admin/category.php?act=add 3. 獲取所有的商品分類(lèi)信息。/admin/category.php?act=add 4. 顯示所有的商品分類(lèi)。/admin/templates/category_add.html 5. 確定表單的去向。/admin/templates/category_add.html 6. 接收用戶(hù)動(dòng)作,處理請(qǐng)求。/admin/category.php|act=insert a) 修改接收用戶(hù)動(dòng)作的方式 b) 處理動(dòng)作 c) 有效性驗(yàn)證:不允許同名。 d) 添加驗(yàn)證方法。/admin/includes/Category.class.php e) 驗(yàn)證結(jié)果。/admin/category.php?act=insert f) 插入數(shù)據(jù)庫(kù)。 g) 新增插入商品分類(lèi)的方法。/admin/includes/Category.class.php h) 判斷插入結(jié)果。/admin/category.php?act=insert 刪除商品分類(lèi)1. 給用戶(hù)提供一個(gè)可以刪除商品分類(lèi)的操作接口。/admin/templates/category_list.html 2. 接收請(qǐng)求,處理請(qǐng)求。/admin/category.php?act=del 3. 對(duì)要?jiǎng)h除的數(shù)據(jù)進(jìn)行有效性驗(yàn)證:當(dāng)前商品分類(lèi)只能是沒(méi)有子分類(lèi)的商品分類(lèi)才能刪除。 4. 創(chuàng)建判斷節(jié)點(diǎn)是否是葉子節(jié)點(diǎn)的方法。/admin/includes/Category.class.php 5. 判斷驗(yàn)證結(jié)果。/admin/category.php?act=del 6. 刪除商品分類(lèi)。 7. 創(chuàng)建刪除商品分類(lèi)的方法。/admin/inclucdes/Category.class.php 8. 增加刪除的基礎(chǔ)方法。/includes/DB.class.php 編輯商品分類(lèi)1. 增加操作入口。/admin/templates/category_list.html 2. 接收動(dòng)作請(qǐng)求,處理請(qǐng)求。/admin/category.php?act=edit 3. 創(chuàng)建獲取商品分類(lèi)的方法。/admin/includes/Category.class.php 4. 將或的數(shù)據(jù)顯示給用戶(hù)看。加載顯示數(shù)據(jù)的模板。/admin/category.php?act=edit 5. 在模板中顯示數(shù)據(jù)。/admin/templates/category_edit.html 6. 獲取所有的商品分類(lèi),并顯示。 a) 獲取。/admin/category.php?act=edit b) 在模板中顯示。/admin/templates/category_edit.html c) 在模板中應(yīng)該默認(rèn)顯示當(dāng)前商品分類(lèi)的父級(jí)分類(lèi)。/admin/templates/category_edit.html 三目運(yùn)算代碼 7. 編輯商品分類(lèi)可以修改商品分類(lèi)的父分類(lèi),但是如果父分類(lèi)選擇的是自己或者自己的子分類(lèi)的話,那么對(duì)應(yīng)的分類(lèi)及其子分類(lèi)全部失效。 解決方案:在進(jìn)行無(wú)限級(jí)分類(lèi)的時(shí)候,如果碰到一個(gè)不需要查找其子分類(lèi)的時(shí)候,應(yīng)該適當(dāng)?shù)慕K止,不再遞歸調(diào)用。 a) 在調(diào)用獲取無(wú)限級(jí)分類(lèi)的時(shí)候,必須顯示的告訴方法,不要獲取指定分類(lèi)id的子分類(lèi) 調(diào)用時(shí)指定不需要獲取子分類(lèi)的id b) 當(dāng)前方法并不進(jìn)行無(wú)限級(jí)分類(lèi),所以需要將該停止id傳遞給無(wú)限級(jí)分類(lèi)方法。 c) 在無(wú)限級(jí)分類(lèi)方法中,對(duì)stop_id進(jìn)行判斷,并進(jìn)行適當(dāng)處理。 8. 用戶(hù)編輯之后提交數(shù)據(jù)。確定用戶(hù)表單提交的腳本。/admin/templates/category_edit.html 9. 增加隱藏域,將當(dāng)前商品分類(lèi)的id給傳過(guò)去。/admin/templates/category_edit.html 10. 服務(wù)器接收請(qǐng)求,處理動(dòng)作。/admin/category.php?act=update a) 合法性驗(yàn)證 b) 有效性驗(yàn)證:不允許重名,保證當(dāng)前商品分類(lèi)的名字不去查自己的。 c) 修改驗(yàn)證商品分類(lèi)名稱(chēng)的方法,使其能夠根據(jù)商品分類(lèi)的id來(lái)進(jìn)行商品分類(lèi)名字的判斷。/admin/includes/Category.class.php d) 更新數(shù)據(jù):調(diào)用類(lèi)的方法操作數(shù)據(jù)庫(kù)。/admin/category.php?act=update 11. 創(chuàng)建方法更新數(shù)據(jù)。/admin/includes/Category.class.php 12. 查詢(xún)商品分類(lèi)信息的時(shí)候,應(yīng)當(dāng)根據(jù)商品分類(lèi)的排序字段進(jìn)行排序。/admin/includes/Cateogry.class.php 生成完整表名在DB類(lèi)中增加一個(gè)方法,能夠構(gòu)造一個(gè)完整的表名:前綴+名字 在任何類(lèi)中,如果需要在SQL語(yǔ)句中使用表名,就調(diào)用該方法去獲取表名即可。 考慮到SQL語(yǔ)句有可能出現(xiàn)多表連接查詢(xún),需要得到多張不同表的表全名,所以應(yīng)該更新生成表全名的方式 |
|
來(lái)自: 知識(shí)書(shū)館 > 《PHP》