1.首先通過最簡單的index首頁來進行頁面的選擇,通過c來選擇要調(diào)用的類,因為怕找不到相應(yīng)的類所、以運用了autoload的魔術(shù)方法來進行將各種需要調(diào)用的類的所在文件包含。通過isset和三元運算來給a和c默認值。
2.直接在下方實例化c,然后調(diào)用相應(yīng)的方法來進行頁面選擇
3.User.class.php頁面中將被調(diào)用了相應(yīng)的方法,默認的是調(diào)用了這個類和類中的index方法。
4.在這個方法中include './View/User/list.html',來進行首頁的界面布置,和提供遍歷的前端環(huán)境
5.index方法中需要對當(dāng)前的兩個搜索進行判斷和組成遍歷出來的where的語句,通過$str的拼接,若沒有g(shù)et到兩個想搜索的,邊進行str=‘1=1’永真來拼接難以拼接的sql語句
6.換頁
? ? 1.$page = new Page($total,5);一個是傳數(shù)據(jù)總數(shù),一個是每頁想顯示幾個
? ? 2.page類里面show會返回,前端下面的分頁a鏈接$this->limit = (($this->current-1)*$num).','.$num;這句 ? ? ? ? 可以將page的limit成員屬性賦值為‘0,5’這種格式
? ? 3.$page->current這個成員屬性是保存當(dāng)前當(dāng)前頁面頁數(shù)
? ? 4.處理下一頁$first = $end = $pre = $next = $_GET;
? ? ? ? ? ? ? ? ? ? ? ? ? $next['p'] = $this->current + 1;
? ? ? ? ? ? ? ? ? ? ? ? ?$nextStr = http_build_query($next);
? ? ? ? ? ? ? ? ? ? ? ? ?get到當(dāng)前的兩個搜索條件和頁碼username=王志偉&sex=1&p=2
? ? ? ? ? ? ? ? ? ? ? ? ?將這個數(shù)組轉(zhuǎn)成這串字符串放到上下頁的a鏈接中就可以進行每次點擊進行穿這些值。
7.刪除和添加都是對于Model類的數(shù)據(jù)庫操作,刪除就直接調(diào)用刪除,但是添加的時候點擊添加會調(diào)用add方法中的 include跳轉(zhuǎn)到add這個數(shù)據(jù)輸入頁,提交后再傳到index.php?c=User&a=doAdd,調(diào)用user類里面 的doAdd方法,進行兩個密碼比較,不一樣跳回去,一樣的話調(diào)用Model類中的add方法,將post的值傳過去
8.調(diào)用User的方法中要對數(shù)據(jù)庫進行操作需要每次都實例化一下$user = new Model('user');在通過$user-> 相應(yīng) Model里面的方法名字.
9.自行添加修改功能的過程中出現(xiàn)了對于save.html頁中的value的值遍歷出現(xiàn)了錯誤,應(yīng)該使用來輸出值,而且要用Model類里面的find方法將這個id的數(shù)據(jù)查詢出來
10.修改提交到doSave中,一定要記得將POST[id]刪除掉,但是調(diào)用Model的save方法有需要傳入一個id所以用$id先裝好,再將POST內(nèi)的id刪除掉。
11.修改之后的doSave中要先判斷密碼是不是為空,是的話就直接刪除post里的pwd若不是就要比較兩次密碼是否相等,不相等跳回去。
###總結(jié):
先是查詢的時候有坑,就是輸入0的時候查詢并不會是真的查詢0的關(guān)鍵字,所以我們要用if來判斷username!=='',這樣子把很多過濾掉了。對于需要用到id的數(shù)據(jù)庫操作,都要有一步判斷是否有接受到id沒有的話跳轉(zhuǎn)回去