Xem mẫu
- BAÙO CAÙO TOÁT NGHIEÄP
ñoà aùn “ Xaây döïng dieãn ñaøn
treân maïng”
Thuaät toaùn nhö sau:
Kieåm tra tính chính xaùc cuûa caùc thoâng tin {email,
ngöôøi göûi, tieâu ñeà ñaõ nhaäp ñuû chöa}
Kieåm tra coù toàn taïi maõ baøi cuûa caâu hoûi hay khoâng
Neáu coù { ñaây laø baøi traû lôøi }
Döïa vaøo maõ baøi cuûa caâu hoûi xaùc ñònh:
Caáp cuûa caâu hoûi
Thöù töï cuûa caâu hoûi
Gaùn caùc bieán cho baøi con:
Caáp baøi = caáp baøi cha + 1
Baøi cha = maõ baøi cha
ELSE {ñaây laø baøi môùi}
Caáp baøi = 1
Baøi cha = 1
Thöù töï = 1
Ñöa taát caû caùc bieán vöøa coù vaøo cô sôû döõ lieäu
- 4. Ñaêng kyù trôû thaønh thaønh vieân: Khi ngöôøi söû duïng tham gia vaøo dieãn ñaøn,
neáu ñaêng kyù moät teân truy nhaäp treân heä thoáng thì ngöôøi söû duïng ngoaøi caùc
quyeàn gioáng nhö moät ngöôøi söû duïng bình thöôøng (ngöôøi söû duïng chöa ñaêng kyù)
thì coøn coù khaû naêng ghi nhôù caùc baøi vieát treân dieãn ñaøn.
Khi daêng kyù yeâu caàu ngöôøi ñaêng kyù phaûi ñieàn ñaày ñuû caùc thoâng tin nhö
hình sau:
Hình 25: Ñaêng kyù söû duïng
- Thuaät toaùn ñaêng kyù nhö sau:
Nhaän thoâng tin veà Teânñaàyñuû, Teântruynhaäp, MaätKhaåu, E-
mail
Kieåm tra phaùt hieän loãi (thieáu thoâng tin, nhaäp sai yeâu caàu)
IF coù loãi then baùo loãi
Quay laïi trang nhaäp
ELSE
Truy xuaát cô sôû döõ lieäu chöùa döõ lieäu ngöôøi duøng
cuûa heä thoáng
If tìm thaáy moät Teântruynhaäp gioáng teân vöøa ñaêng kyù
THEN
Baùo loãi
Quay laïi trang nhaäp
Else {thoâng tin ñaêng kyù hôïp leä}
Nhaäp taát caû caùc thoâng tin vöøa ñaêng kyù vaøo CSDL
END IF
- 5. Tìm kieám: ÖÙng duïng cho pheùp ngöôøi söû duïng tìm kieám thoâng tin veà baát cöù
moät baøi vieát naøo ñoù treân dieãn ñaøn theo nhöõng löïa choïn: tìm kieám theo chuû ñeà
cuûa baøi göûi, tìm kieám theo tieâu ñeà cuûa baøi göûi, tìm kieám theo noäi dung baøi göûi.
a. Tìm kieám theo chuû ñeà: Ñeå tìm kieám theo chuû ñeà, ngöôøi söû duïng goõ moät
chuoãi kyù töï baát kyø thuoäc chuû ñeà ñoù, sau ñoù baám nuùt “Search”, neáu coù chuû ñeà
naøo coù chöùa chuoãi kyù töï cuûa ngöôøi söû duïng vöøa nhaäp thì seõ coù keát quaû traû veà
nhö hình 27
Hình 26: Tìm kieám theo chuû ñeà
- Hình 27: Keát quaû tìm kieám theo chuû ñeà
- Thuaät toaùn tìm kieám theo chuû ñeà:
SQLQuery = "Select * from chude where chude.chude like '%"&chuoicantim&"%';
Ta duøng caâu leänh SQL sau ñeå thöïc hieän tìm kieám
b. Tìm kieám theo noäi dung: Xaây döïng baûng chæ muïc phuïc vuï cho vieäc tìm
kieám
Ñeå xaây döïng baûng chæ muïc ñaàu tieân ta xaây döïng baûng töø khoùa. Töø khoùa
coù ñöôïc laø do noäi dung cuûa baøi vieát ñöôïc taùch thaønh caùc töø.
Qui trình thöïc hieän xaây döïng baûng töø khoùa coù theå toùm taéc nhö sau:
- Ñaàu tieân ta taùch noäi dung cuûa baøi vieát thaønh caùc töø khoaù
- Ñöa taát caû caùc töø khoaù vöøa taùch ñöôïc vaøo trong moät baûng taïm
- - Duøng ngoân ngöõ truy vaán döõ lieäu ñeå caäp nhaät caùc töø khoaù trong baûng taïm
vaøo trong baûng töø khoaù chính theo nguyeân taéc: khoâng theâm vaøo baûng
chính nhöõng töø maø baûng chính ñaõ coù.
Ví duï
Ta coù moät baøi göûi coù caùc tham soá sau:
Maõbaøigöûi = 100
Noäidung: Töï hoïc Visual-Basic 6 trong 6 ngaøy
Sau khi taùch ra löu vaøo trong baûng taïm nhö sau:
Maõbaøig Töø
100 Töï
100 hoïc
100 Visual
100 Basic
- 100 6
100 Trong
100 6
100 Ngaøy
Ñöa töø khoaù trong baûng taïm vaøo baûng chính:
Ñöa caùc töø khoaù vaøo trong baûng töø khoaù theo nguyeân taéc, töø khoaù naøo ñaõ
coù thì khoâng theâm vaøo, ngöôïc laïi töø chöa coù thì theâm vaøo cuoái baûng.Ta duøng
ngoân ngöõ truy vaán döõ lieäu ñeå thöïc hieän ñieàu naøy
sqlQuery = "INSERT INTO TuKhoa ([tukhoa])SELECT DISTINCT
TuKhoaTam.tukhoa FROM TuKhoaTam LEFT JOIN TuKhoa ON
TuKhoaTam.tukhoa=TuKhoa.tukhoa WHERE (((TuKhoa.tukhoa) is
null));"
Sau khi thöïc hieän caâu leänh sql treân baûng töø khoaù seõ theâm vaøo nhöõng töø
chöa coù.
Ví duï: baûng töø khoaù tröôùc ñaõ coù töø: Visual, hoïc, sau khi theâm caùc töø khoaù
cuûa baøi coù maõ baøi göûi laø 100 vaøo thì nhö sau:
- Maõtöøkhoaù Töøkhoaù
1 Visual
2 Hoïc
3 Töï
4 Basic
5 Trong
6 6
7 Ngaøy
Thuû tuïc taùch noäi dung cuûa baøi göûi thaønh caùc töø khoaù vaø ñöa caùc töø khoaù
naøy vaøo baûng taïm:
sub AddKeyWordtoTempTable(theString, IDMsg)
delim_ = ",.?/""!#$%^&*()-_=+\|;:"
On error resume next
delim = delim_ & chr(13) & chr(10)& chr(32)
sql= "Delete * from TuKhoaTam;"
Set Conn = Session("DBConn")
Conn.Execute(sql)
str = trim(theString)
- Taïo baûng chæ muïc:
Ñeå coù theå tìm kieám ñöôïc baøi vieát theo tieâu ñeà vaø theo noäi dung, chöông
trình xaây döïng caùc baûng chæ muïc ñeå tìm kieám cuï theå nhö sau:
- Sau khi ñaõ coù ñöôïc baûng töø khoaù taïm vaø baûng töø khoaù ta tieáp tuïc xaây döïng
baûng chæ muïc. Baûng töø khoaù taïm ñöôïc duøng ñeå laáy caùc töø khoaù cuûa moät baøi môùi
ñöôïc göûi vaø soá maõ baøi cuûa baøi göûi ñoù keát hôïp vôùi baûng töø khoaù moãi töø khoaù seõ
öùng vôùi moät maõ töø khoaù. Vaäy ta ñaõ coù ñöôïc 2 giaù trò laø maõbaøigöûi vaø maõtöøkhoaù
ñeå cheøn vaøo baûng chæ muïc.
Teân tröôøng Kieåu döõ lieäu Giaûi thích
Maõbaøigöûi Number
Maõtöøkhoaù Number
Caâu leänh SQL duøng ñeå xaây döïng baûng chæ muïc
sqlQuery = "INSERT INTO ChiMuc ([mabai], [matukhoa] )SELECT
DISTINCT TuKhoaTam.ma, TuKhoa.matukhoa FROM TuKhoaTam LEFT
JOIN TuKhoa ON TuKhoaTam.tukhoa=TuKhoa.tukhoa;"
Vaäy ta ñaõ coù ñöôïc baûng chæ muïc
Tìm kieám nhö theá naøo?
Ñeå tìm kieám ñöôïc moät baøi naøo ñoù theo noäi dung ta caàn phaûi keát hôïp ba baûng
“BaøiGöûi” baûng “TöøKhoaù” vaø baûng “ChæMuïc” theo quan heä nhö hình sau:
- Hình 28: Quan heä giöõa baûng “Baøi Göûi”, “Chæ Muïc”, “TöøKhoaù “
c. Tìm kieám theo tieâu ñeà: caùc tieâu ñeà cuûa baøi göûi sau khi ñöôïc göûi leân dieãn
ñaøn cuõng ñöôïc taùch ra thaønh caùc töø khoaù vaø cuõng ñöôïc löu tröõ trong caùc baûng töø
khoaù vaø baûng chæ muïc daønh rieâng cho töø khoaù. Caùch xaây döïng caùc baûng chæ
muïc, xaây döïng baûng töø khoùa vaø caùch thöùc xaây döïng thuaät toaùn tìm kieám hoaøn
toaøn töông töï nhö caùch xaây döïng thuaät toaùn tìm kieám thao noäi dung.
d. Saép xeáp baøi:
Coù nhieàu löïa choïn saép xeáp cho pheùp löïa choïn caùc caùch phuø hôïp vôùi yeâu
caàu cuûa ngöôøi söû duïng. Moãi moät caùch saép xeáp khaùc nhau chaúng qua xuaát ra
maøn hình danh saùch caùc baøi theo caùc caùch khaùc nhau. Do vaäy, trong chöông
trình seõ coù nhieàu thuû tuïc xuaát caùc baøi göûi ra maøn hình treân cuøng moät trang, khi
- ngöôøi söû duïng choïn moät trong caùc caùch saép xeáp thì trang web naøy seõ ñöôïc chaïy
laïi vaø coù caùch xuaát hieän baøi vieát theo thuû tuïc khaùc.
Khi coù moät taùc ñoäng töø ngöôøi duøng, chöông trình seõ xuaát ra moät bieán
“sapxep” ñi keøm vôùi ñòa chæ cuûa trang hieån thò baøi
select name="list"
onchange="window.open(this.options[this.selectedIndex].value,'_top');
list.options[0].selected=true" style="FONT-FAMILY: .VNTime; FONT-SIZE: 10pt">
[Choïn caùch
Sxeáp]
Chuû ñeà
Tieâu ñeà
Caâu hoûi
Thôøi gian
Ngöôøi göûi
Bình thöôøng
- Vôùi caùch truyeàn bieán keøm theo ñòa chæ cho pheùp ta chæ caàn söû duïng moät
trang hieån thò maø coù theå duøng nhieàu caùch hieån thò baøi khaùc nhau vaøo töøng thôøi
ñieåm khaùc nhau.
Ví duï: Ngöôøi söû duïng choïn caùch hieån thò “Caâu hoûi” thì trang seõ chaïy laïi
trang dsachbai.asp nhöng coù keøm theo bieán sapxep = cauhoi. Trang
dsachbai.asp duøng Request.QueryString(“sapxep”) seõ laáy ñöôïc bieán sapxep vaø
duøng bieán naøy ñeå choïn ra nhöõng baøi laø caâu hoûi ñeå hieån thò.
Xöû lyù yeâu caàu cuûa ngöôøi ñaõ ñaêng kyù:Ñoái vôùi ngöôøi ñaõ ñaêng kyù ngoaøi caùc
quyeàn nhö moät ngöôøi söû duïng chöa ñaêng kyù nhö: göûi baøi, xem baøi, tìm kieám ...
coøn coù theâm ñöôïc chöùc naêng ghi nhôù baøi
Ghi nhôù baøi
Khi ngöôøi söû duïng coù ñaêng kyù treân heä thoáng moät teân truy nhaäp thì heä
thoáng cho pheùp ngöôøi söû duïng sau khi login vaøo heä thoáng coù theå löu laïi ñöôïc
nhöõng baøi maø hoï caûm thaáy caàn phaûi nhôù.
Caùc baøi ñöôïc choïn seõ ñöôïc löu vaøo trong baûng ghi nhôù sau:
Teân tröôøng Kieåu döõ Giaûi thích
lieäu
MaõngöôøiSD Number
Maõbaøigöûi Number
- Sau khi ngöôøi söû duïng login chöông trình seõ töï ñoäng thieát laäp moät soá bieán
Session ñeå löu tröõ thoâng tin cuûa ngöôøi söû duïng bao goàm:
- Maõ ngöôøi söû duïng
- Teân ngöôøi söû duïng
Nhôø caùc bieán naøy maø trong suoát phieân laøm vieäc cuûa ngöôøi söû duïng chöông
trình luoân luoân söû duïng ñöôïc bieán “maõ ngöôøi söû duïng” do vaäy khi ngöôøi söû
duïng xem moät baøi naøo ñoù muoán löu laïi baøi ñoù thì keát hôïp giöõa bieán
Session(“manguoiSD”) vaø maõ cuûa baøi göûi ñoù vaø löu hai giaù trò naøy vaøo baûng
treân.
Ñeå baûo maät thoâng tin sau khi ngöôøi söû duïng chuû ñoäng logout thì bieán
Session(“manguoiSD”) seõ ñöôïc xoaù.
Xöû lyù yeâu caàu cuûa ngöôøi quaûn lyù:Ñoái vôùi ngöôøi quaûn lyù ngoaøi caùc chöùc
naêng gioáng nhö ngöôøi söû duïng chöa ñaêng kyù, ngöôøi söû duïng ñaõ ñaêng kyù coøn coù
nhöõng chöùc naêng khaùc nhaèm duy trì cho heä thoáng hoaït ñoäng toát hôn.
1. Xoaù baøi
Ñeå moät quaûn lyù ñöôïc noäi dung cuûa dieãn ñaøn, heä thoáng cho pheùp ngöôøi
quaûn lyù dieãn ñaøn coù theå xoaù baát cöù baøi naøo treân dieãn ñaøn.
Thuaät toaùn xoaù baøi thöïc hieän nhö sau:
- Hình 31: Trang xoaù baøi
- 2. Theâm ngöôøi söû duïng
Ngöôøi quaûn lyù coù quyeàn theâm ngöôøi söû duïng cuõng nhö theâm ngöôøi quaûn
lyù vaøo heä thoáng. Ñeå phaân bieät ñöôïc ngöôøi söû duïng vaø ngöôøi quaûn lyù, chöông
trình chia ngöôøi söû duïng thaønh hai caáp:
Caáp 2: ñaây laø caáp ngöôøi söû duïng, vôùi ngöôøi söû duïng loaïi naøy coù theå thöïc
hieän caùc yeâu caàu gioáng nhö ngöôøi söû duïng chöa ñaêng kyù ñoàng thôøi coù theå ghi
nhôù baøi maø hoï öu thích.
Caáp 1: ñaây laø caáp quaûn lyù, ngoaøi quyeàn gioáng nhö moät ngöôøi söû duïng caáp
2 coøn coù quyeàn cao hôn so vôùi ngöôøi söû duïng caáp 2. Ngöôøi söû duïng ôû caáp naøy
coù theå thöïc hieän ñöôïc 5 chöùc naêng cuûa ngöôøi quaûn lyù ñoù laø: xoaù baøi, theâm
ngöôøi söû duïng, xoaù ngöôøi söû duïng, theâm chuû ñeà cho dieãn ñaøn, xoaù chuû ñeà cuûa
dieãn ñaøn.
- Hình 32: Trang ñaêng kyù ngöôøi söû duïng
Thuaät toaùn:
Nhaän döõ lieäu: teânñaàyñuû, teântruynhaäp, maätkhaåu, email, caáp
If thieáu thoâng tin then
Baùo loãi
Else
If teân truy nhaäp truøng teân ñaõ coù tröôùc then
Thoâng baùo
Môû laïi form ñaêng kyù
Else
- 3. Xoaù ngöôøi söû duïng
Ñeå quaûn lyù ñöôïc soá löôïng ngöôøi söû duïng cuõng nhö soá löôïng ngöôøi quaûn lyù
cuûa heä thoáng. Ngöôøi quaûn lyù coù quyeàn xoaù ngöôøi söû duïng ra khoûi heä thoáng.
Hình 33: Xoaù ngöôøi söû duïng ra khoûi heä thoáng
nguon tai.lieu . vn