Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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à
  5. Hình 27: Keát quaû tìm kieám theo chuû ñeà
  6. 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
  7. - 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
  8. 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:
  9. 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)
  10. 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:
  11. 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:
  12. 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
  13. 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
  14. 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
  15. 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:
  16. Hình 31: Trang xoaù baøi
  17. 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.
  18. 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
  19. 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