三、分頁原理 數(shù)據(jù)庫中有一個article表,一個class表,我們不考慮是不是無限級分類還是兩級分類,這個與我們無關(guān)。 [article] id int IDENTITY (1, 1) NOT NULL, classid int default 0, title varchar(100), addtime datetime [class] id int IDENTITY (1, 1) NOT NULL, classname varchar(20)
1、生成分頁 如果class表中有一行數(shù)據(jù)是id為1,classname為“ASP分類”,我們先把所有article中所有classid=1的數(shù)據(jù)都取出來,(www.knowsky.com)然后按addtime升序排列,這個與普通的ADO分面是一樣的,但是,下面我們要進(jìn)行一些處理。 我們動態(tài)的在數(shù)據(jù)庫里生成一個表,名字叫[page_1],1就是對應(yīng)的classname為“ASP分類”的ID自動編號。 [page_1] pagenum int, pagestr text
大家肯定會想到,數(shù)據(jù)不可能總是整除19(20個數(shù)據(jù)應(yīng)該是mod 19)呀,當(dāng)然,我們要處理一下零頭,這些零頭應(yīng)該是最新的數(shù)據(jù)(我們是按addtime)排列的。我們再動態(tài)的建立一個表,[aritcle_1] [article_1] id int IDENTITY (1, 1) NOT NULL, artid int, classid int default 0, title varchar(100), addtime datetime 把多出來的零頭數(shù)據(jù)加入這個表中。