Tải bản đầy đủ (.doc) (73 trang)

Ứng dụng jquery xây dựng website đấu giá trực tiếp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (989.87 KB, 73 trang )

Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

MỤC LỤC
MỤC LỤC.............................................................................................. 1
LỜI GIỚI THIỆU................................................................................... 7
CHƯƠNG I............................................................................................ 9
CƠ BẢN VỀ JQUERY..........................................................................9
I. Giới thiệu về jQuery.........................................................................................9
II. Các vấn đề cơ bản..........................................................................................10
2.1. Cài đặt jQuery vào mã code....................................................................10
2.2. Cách gọi hàm jQuery...............................................................................10
2.3. Khả năng tạo thành chuỗi của jQuery....................................................11
2.4. Giải quyết xung đột trong jQuery...........................................................12
III. Lựa chọn phần tử trong jQuery...................................................................12
3.1. HTML........................................................................................................13
3.2. ID..............................................................................................................14
3.3. Class.........................................................................................................14
3.4. Kết hợp các tiêu chí tìm kiếm..................................................................14
3.5. Các bộ lọc khác........................................................................................15
IV. Duyệt.............................................................................................................16

CHƯƠNG 2......................................................................................... 19
THƯƠNG MẠI ĐIỆN TỬ VÀ MÔ HÌNH .........................................19
ĐẤU GIÁ TRỰC TUYẾN ..................................................................19
I. Thương mại điện tử........................................................................................19
1.1.Khái niệm về Thương mại điện tử ...........................................................19
1.2. Lợi ích của TMĐT.....................................................................................19
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT


Trang 1


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

1.3. Các lọai hình ứng dụng TMĐT .................................................................20
1.3.1. B2B.........................................................................................................21
1.3.2. B2C.........................................................................................................21
1.3.3. B2G.......................................................................................................22
1.3.4. C2C.........................................................................................................22
1.3.5. G2C........................................................................................................22

II. Đấu giá trực tuyến.........................................................................................23
2.1. Khái niêm về đấu giá trực tuyến .............................................................23
2.2. Các phương thức đấu giá trực tuyến.......................................................23
2.2.1. Đấu giá kiểu Anh....................................................................................23
2.2.2. Đấu giá kiểu Hà Lan...............................................................................23

2.3. Những ưu điểm của mô hình đấu giá trực tuyến....................................24
2.3.1. Không ràng buộc về mặt thời gian.........................................................24
2.3.2. Sức mạnh của tương tác xã hội.............................................................24
2.3.3. Số lượng người đấu giá lớn...................................................................24
2.3.4. Số lượng người bán hàng lớn................................................................24
2.3.5. Số lượng lớn các người tham gia đấu giá..............................................25

2.4. Quy trình tham gia đấu giá trực tuyến....................................................25
III. Penny Auctions.............................................................................................25
3.1. Mô tả chung.............................................................................................25

3.2. Đăc điểm..................................................................................................26
3.2.1. Công khai:..............................................................................................26
3.2.3. Bước nhảy giá là rất nhỏ và phí mỗi lần bid là rất lớn. .........................26
3.2.4. Phí bid lớn.............................................................................................26

3.3. Công thức tính.........................................................................................27
3.4. Quy tắc chơi.............................................................................................28
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 2


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

CHƯƠNG 3......................................................................................... 30
PHÂN TÍCH THIẾT KẾ......................................................................30
WEBSITE ĐẤU GIÁ TRỰC TUYẾN ................................................30
I. Mục đích, yêu cầu...........................................................................................30
1.1. Mục đích .................................................................................................30
1.2. Yêu cầu.....................................................................................................30
II. Phân tích chức năng.......................................................................................30
2.1. Các chức năng chính................................................................................30
2.1.1. BackEnd.................................................................................................30
2.1.2. FrontEnd................................................................................................33

2.2. Biểu đồ chức năng...................................................................................36
2.3. Các tác nhân trong hệ thống...................................................................36
2.3.1. Admin....................................................................................................37

2.3.2. AuctionsManager..................................................................................37
2.3.3. AuctionManagerSite..............................................................................37
2.2.4. User.......................................................................................................37

III. Luồng dữ liệu................................................................................................37
3.1. BackEnd....................................................................................................37
3.1.1. Quản lý Account....................................................................................37
3.1.2. Quản lý sản phẩm..................................................................................40
3.1.3. Quản lý đấu giá......................................................................................43

3.2. FrontEnd..................................................................................................43
3.2.1. Account..................................................................................................43
3.2.2. Auctions.................................................................................................45
3.2.3. Product..................................................................................................46

VI. Thiết kế CSDL................................................................................................47
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 3


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

4.1. Cấu hình hệ thống....................................................................................47
4.1.1. Bảng Menu............................................................................................47
4.1.2. Bảng Role...............................................................................................47

4.2. Account....................................................................................................47

4.2.1. Bảng Account.........................................................................................48
4.2.2. Bảng AccountRole..................................................................................48

4.3. Auctions...................................................................................................48
4.3.1. Bảng Auctions........................................................................................48
4.3.2. Bảng AuctionsAccount...........................................................................49

4.4. Product.....................................................................................................49
4.4.1. Bảng Product.........................................................................................49

CHƯƠNG 4......................................................................................... 51
CÀI ĐẶT CHƯƠNG TRÌNH...............................................................51
I. Các công nghệ ứng dụng.................................................................................51
II. Các vấn đề cần giải quyết...............................................................................51
III. Mô hình 3 lớp................................................................................................52
3.1. Presentation Layer...................................................................................53
3.2. Business Logic Layer................................................................................54
3.3. Data Access Layer....................................................................................54
VI. Sử dụng jQuery để thực hiện request trang liên tục....................................55
V. Xử lý đa luồng................................................................................................58
5.1. Cở sở lý thuyết.........................................................................................58
5.1.1. Tạo một BackGroundWorker.................................................................58
5.1.2. Tạo một Event handle cho một BackGroundWorker............................59
5.1.3. Tạo một Event handle cho sự kiên ProcessChanged.............................60
5.1.4. Tạo một sự kiện cho RunWorkerCompeleted.......................................61

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 4



Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

5.1.5. Bổ sung sự kiện vào BackGroundWorker..............................................62
5.1.6. Chạy một BackgroundWorker...............................................................62
5.1.7. Hủy bỏ một BackgroundWorker............................................................62

5.2. Cài đặt......................................................................................................62

CHƯƠNG 5......................................................................................... 65
TRIỂN KHAI THỬ NGHIỆM.............................................................65
I. Cài đặt các chức năng.....................................................................................65
1.1. BackEnd....................................................................................................65
1.2. FrontEnd..................................................................................................65
II. Thiết kế & Ghép giao diện..............................................................................65
2.1. BackEnd....................................................................................................65
2.1.1. Quản lý đấu giá......................................................................................66
2.1.2. Quản lý sản phẩm..................................................................................66
2.1.3. Quản lý người dùng...............................................................................66
2.1.4. Cấu hình hệ thống.................................................................................66
2.1.5. Báo cáo thống kê...................................................................................68

2.2. FrontEnd..................................................................................................68
2.2.1. Trang chủ...............................................................................................68
2.2.2. Trang thông tin chi tiết..........................................................................68
2.2.3. Trang cá nhân........................................................................................69

KẾT LUẬN ......................................................................................... 71

VÀ ĐỊNH HƯỚNG PHÁT TRIỂN......................................................71
I. Kết luận...........................................................................................................71
II. Định hướng phát triển...................................................................................71

TÀI LIỆU THAM KHẢO....................................................................72
LỜI CẢM ƠN...................................................................................... 73
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 5


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 6


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

LỜI GIỚI THIỆU
Cùng với sự phát triển của tri thức, lĩnh vực CNTT đang ngày càng
giành được nhiều thành tựu rực rỡ. Các sản phẩm của nghành CNTT đang
ngày càng được ứng dụng một cách rộng rãi trong mọi mặt của đời sống,
đưa lại nhiều tiện ích cho con người. Khả năng ưu việt của các sản phẩm
đó đã làm thay đổi cách làm việc, các học tập, cách tư duy và quan trọng

hơn cả là cách ra quyết định của con người.
Trong các sản phẩm của CNTT, có thể nói việc xây dựng các
website phục vụ các nhu cầu khác nhau của đời sống đang trở nên phổ biến
nhất hiện nay. Với một vài thao tác đơn giản, một người có thể ngồi ở bất
kì đâu đều có thể có được những thông tin mong muốn chỉ bằng một cú
kích chuột và có thể kết nối với cả thế giới bên ngoài.
Đặc biệt, hiện nay thương mại điện tử đang càng được biết tới như
một phương thức kinh doanh hiệu quả trên Internet, đem lại sự tiết kiệm
chi phí và tạo thuận lợi cho các bên giao dịch. Trong đó, hình thức đấu giá
trực tuyến là một lĩnh vực mới mẻ, hứa hẹn mang lại nhiều tiện ích và thú
vị. Tuy nhiên việc xây dựng các Website Đấu giá trực tuyến lại đang là
một thách thức đối với các nhà lập trình Web.
Hiện nay, với sự ra đời của công nghệ jQuery, việc xây dựng một
website Đấu giá trực tuyến đã trở nên dễ dàng hơn. Website đấu giá trực
tuyến ứng dụng công nghệ jQuery là một đề tài thú vị và có thể phát triển
để mang tính ứng dụng cao, góp phần nâng cao tiện ích cho cộng đồng
người dùng Internet. Vì vậy em đã chọn đề tài đồ án tốt nghiêp là “Ứng
dụng công nghệ jQuery xây dựng website Đấu giá trực tuyến”
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 7


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

Nội dung của đồ án được chia làm 5 chương:
Chương I: “Cơ bản về jQuery” trình bày các các kiến thức cơ bản
về jQuery.

Chương II: “Thương mại điện tử và đấu giá trực tuyến” trình
bày các kiến thức về Thương mại điện tử nói chung và mô hình Đấu giá
trực tuyến nói riêng.
Chương III: “Phân tích, thiết kế website Đấu giá trực tuyến”
phân tích các chức năng, luồng dữ liệu và cấu trúc CSDL để xây dựng
website Đấu giá trực tuyến.
Chương IV: “Cài đặt thử nghiêm” trình bày các chức năng website
đã cài đặt và giao diện của website.
Phần “Kết luận và định hướng phát triển” nêu lên các kết quả thu
được và định hướng phát triển cho website Đấu giá trực tuyến.
Do kiến thức của em còn hạn chế và một số yếu tố khách quan nên
đề tài còn nhiều thiếu sót. Em mong nhận được sự góp ý chân thành của
thầy cô và các bạn để em có thể hoàn thiện đề tài của mình.
Đặc biệt, trong quá trình thực hiện đề tài, Em đã nhận được sự quan
tâm, chỉ bảo tận tình của thầy giáo trực tiếp hướng dẫn em là thầy Vũ Văn
Nam. Em xin chân thành cám ơn thầy!
Vinh, Ngày 1/5/2010

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 8


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

CHƯƠNG I
CƠ BẢN VỀ JQUERY
I. Giới thiệu về jQuery

JQuery là một thư viện kiểu mới của Javascript giúp đơn giản hóa
cách viết javascript và tăng tốc độ xử lý các sự kiện trên trang web. JQuery
thêm tương tác Ajax vào trong trang web. JQuery được thiết kế để thay đổi
cách viết JavaScript.
JQuery trở thành sự lựa chọn đầu tiên cho các lập trình viên đang
tìm cách để giảm nhẹ công việc phát triển dịch vụ phía khách của họ và tạo
ra các RIA một cách nhanh chóng và hiệu quả. Do việc sử dụng RIA trở
nên ngày càng phổ biến trên toàn thế giới, nên việc sử dụng các thư viện
JavaScript để hỗ trợ sự phát triển của họ cũng sẽ tiếp tục tăng. RIAs được
định nghĩa (không rõ ràng) vì rằng các ứng dụng chạy thông qua trình
duyệt, trình duyệt này sử dụng kết hợp của CSS/JavaScript/Ajax để tạo ra
công việc trên ứng dụng của máy tính để bàn. Các tính năng mới nhất,
được bổ sung vào các bản phát hành gần đây của Firefox, Internet
Explorer, Safari, và bản phát hành gần đây của trình duyệt Google Chrome
mới, được tập trung vào việc tăng tốc độ của máy JavaScript nội bộ của
mỗi trình duyệt nhằm mục đích duy nhất là làm cho nó trở nên thuận lợi
hơn cho loại ứng dụng RIAs, loại ứng dụng mà những người tạo ra trình
duyệt tưởng tượng là chúng ta sẽ sử dụng trong tương lai gần. Các công ty
này hình dung các trang Web có chứa hàng chục ngàn dòng mã JavaScript,

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 9


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

cho thấy tầm quan trọng của một thư viện hoàn thiện và không có lỗi và từ

đó sẽ bắt đầu mọi công việc quan trọng hơn.

II. Các vấn đề cơ bản
Vấn đề cơ bản của jQuery là cách cài đặt và chạy nó, vv… Tải về
tệp thư viện của jQuery với tên là “jquery.js”, sau đó liên kết với nó và bất
kỳ tệp JavaScript ngoài nào khác.

2.1. Cài đặt jQuery vào mã code
Để sử dụng được thư viện jQuery, sử dụng khai báo sau:
<script type="text/javascript" src="jquery.js"></script>

2.2. Cách gọi hàm jQuery
Bởi vì jQuery gọi hay thao tác các đối tượng DOM, nên dẫn đến gặp
vấn đề nếu ta thao tác các đối tượng này ngay lập tức trong mã JavaScript,
trước khi hoàn tất việc tải về tất cả các phần tử trên trang. Ngược lại,
chúng ta cũng không muốn phải chờ cho đến khi tất cả mọi thứ trên trang
đã được nạp; tất cả hình ảnh, biểu ngữ quảng cáo, mã phân tích, và các
đoạn video xem trước của YouTube, trước khi có thể gọi ra mã jQuery.
Vùng ở giữa (middle ground) cho phép gọi ra mã jQuery một cách thích
hợp bằng một cách thức an toàn và không gây lỗi một khi các tài liệu đã
hoàn tất việc tải tất cả các phần tử trên trang, nhưng trước khi tất cả các
hình ảnh, liên kết, và hoàn thiện ảnh (rendering) đã hoàn tất. Để làm việc
này một lần nữa theo một cách khác, thì tất cả mã jQuery cần được có mặt
trong hàm này trên một trang, hoặc trong hàm riêng của nó. Không nên
đưa mã jQuery vào trong mã JavaScript nếu nó không nằm trong một hàm.
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 10



Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

// Sai
<script language=JavaScript>
$("div").addClass("a");
</script>
// Đúng
$(document).ready(function(){
$("div").addClass("a");
});
// - or $(document).ready(function(){
myAddClass();
});
function myAddClass()
{
$("div").addClass("a");
}

Ngoài ra, có thể có nhiều hàm document.ready() cần trên một trang,
và chúng sẽ được gọi ra nối tiếp nhau. Lưu ý rằng ta đang xây dựng các
trang của mình một cách năng động với các modun, và mỗi modun có
riêng mã hỗ trợ jQuery của nó (Ví dụ: một trang PHP được xây dựng từ
nhiều đoạn trang PHP nhỏ hơn)

2.3. Khả năng tạo thành chuỗi của jQuery

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT


Trang 11


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

Một trong những tính năng thú vị nhất của jQuery là "khả năng tạo
thành chuỗi - chainability” của nó, khả năng đặt cùng nhau một loạt các
hàm nhằm cải thiện khả năng đọc và mã hóa dễ dàng. Hầu hết các hàm
jQuery trả về một đối tượng jQuery, có nghĩa là ta có thể dễ dàng gọi ra
các hàm bổ sung trên các đối tượng đó hết lần này đến lần khác để nối
thành một chuỗi lệnh jQuery đầy đủ. Ta so sánh điều này với lớp String
trong Java, trong đó một số hàm trả về một đối tượng String, cho phép nối
nhiều hàm với nhau trên một dòng:
String man = new
String("manipulated").toUpperCase().substring(0,5).toLowerCase();
$("div").addClass("a").show().text("manipulated");

2.4. Giải quyết xung đột trong jQuery
Điều sau cùng cần nhớ khi làm việc với jQuery, hoặc với bất cứ thư
viện JavaScript nào, là chúng không luôn làm việc tốt với nhau. Nói cách
khác, khi làm việc với hai hoặc nhiều thư viện, biến "$" được sử dụng bởi
nhiều thư viện, điều đó có nghĩa là máy xử lý (engine) sẽ không biết thư
viện nào cần được tham chiếu tới biến "$". Một ví dụ cho điều này là thư
viện CakePHP, gồm một biến prototype.js được xây dựng sẵn. Việc cố
gằng sử dụng jQuery trên các trang này sẽ dẫn đến lỗi, trừ khi các lỗi đó
được sửa. Để giải quyết vấn đề này, jQuery cung cấp một cách để ánh xạ
biến "$" đến một biến khác.


III. Lựa chọn phần tử trong jQuery
Gốc của mọi jQuery là khả năng chọn một số phần tử trên một trang
và thao tác trên các phần tử đó. Điều đó có nghĩa đó là những đối tượng mà
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 12


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

thư viện jQuery được xây dựng để hoạt động xung quanh các đối tượng đó.
Vì vậy, với nhiều tùy chọn sẵn có trên một trang HTML bình thường, cần
một cách để chọn nhanh chóng và hiệu quả những phần tử mà bạn muốn
làm việc với trên trang, chỉ chọn những phần tử mà ta muốn (không nhiều
hơn và cũng không ít hơn). Đúng như mong đợi, jQuery cung cấp các
phương thức lựa chọn mạnh mẽ cho phép tìm và chọn các đối tượng trên
trang. jQuery đã tạo ra cú pháp riêng của mình để lựa chọn, và cú pháp đó
khá dễ để học.
Về căn nguyên mà nói, quá trình lựa chọn trong jQuery thực sự là
một quá trình lọc khổng lồ, theo đó mọi phần tử trên trang được đưa qua
các bộ lọc mà ta cung cấp trong câu lệnh của mình, và nó trả về hoặc là
bản thân đối tượng phù hợp duy nhất, hoặc một mảng của các đối tượng
phù hợp, từ đó ta có thể nghiên cứu kỹ lưỡng.

3.1. HTML
Để có được một mảng của tất cả các phần tử HTML phù hợp trong
một trang, ta có thể vượt qua một cách dễ dàng chính các thẻ HTML đó.
Đây là cách "nhanh và không sạch" cho phép tìm các đối tượng và nó có

ích để gắn các thuộc tính vào các phần tử HTML chung.
// Sẽ hiển thị mọi thẻ <div> trên trang. Chú ý rằng nó sẽ
// Hiển thị mọi <div>, không kể thẻ đầu hoặc cuối có giống hay không.
// Duyệt mảng (Traversing Arrays) sẽ đề cập sau trong bài này.
$("div").show();
// Sẽ lập nền mầu đỏ cho mọi thẻ

trong trang.
$("p").css("background", "#ff0000");

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 13


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

3.2. ID
Thiết kế trang đúng cách sẽ yêu cầu mọi ID trên một trang phải là
duy nhất, mặc dù điều này đôi khi không thực hiện được (do cố ý hoặc vô
ý). jQuery chỉ trả về các phần tử đầu tiên phù hợp khi sử dụng lựa chọn ID,
bởi vì nó đòi hỏi thiết kế một trang đúng cách. Nếu cần phải đính kèm một
thẻ cho một số phần tử trên cùng một trang, thẻ Class là sự lựa chọn thích
hợp.
$("#sampleText").html("Hi");

3.3. Class
Các lớp rất giống như các ID, ngoại trừ việc chúng có thể được sử
dụng cho một hoặc nhiều phần tử trên một trang. Như vậy, khi ta bị hạn
chế chỉ có một phần tử cho mỗi ID trên một trang, thì ta có thể có nhiều


phần tử với cùng một lớp trên một trang. Điều này dẫn đến kết quả là làm
ta thực hiện chậm trễ các hàm trên các phần tử khác nhau trên một trang
trong khi ta chỉ chọn một tên lớp.
// Sẽ tạo nền màu đỏ cho mọi phần tử trên trang với lớp "redBack".
// Chú ý rằng nó không kể đến phần tử HTML mà lớp "redBack" được gắn
với.
$(".redBack").css("background", "#ff0000");

This is a paragraph


<div class="redBack">This is a big div</div>
<table class="redBack"><tr><td>Sample table</td></tr></table>

3.4. Kết hợp các tiêu chí tìm kiếm
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 14


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

Ba tiêu chí tìm kiếm ở trên, và tất cả các bộ lọc được trình bày dưới
đây, có thể được kết hợp trong một tìm kiếm. Bằng việc tách các tiêu chí
tìm kiếm bằng một dấu phẩy (","), thao tác tìm kiếm sẽ trả về một tập hợp
của tất cả các kết quả phù hợp với thuật ngữ tìm kiếm.
// Sẽ ẩn mọi

, <span>, hay <div>.
$("p, span, div").hide();

3.5. Các bộ lọc khác
Trong khi ta có chắc chắn ba tham số tìm kiếm được sử dụng phổ


biến nhất trong jQuery, thì có rất nhiều tham số khác có thể giúp ta nhanh
chóng tìm thấy các phần tử mà bạn đang tìm kiếm trên một trang. Các bộ
lọc thêm này đều bắt đầu với dấu ":" để biểu thị rằng chúng là những bộ
lọc trong các thuật ngữ tìm kiếm của jQuery. Mặc dù chúng có thể đứng
một mình như các tiêu chí tìm kiếm, chúng được thiết kế ban đầu với ba
tiêu chí tìm kiếm như trên, cho phép tinh chỉnh các tiêu chí tìm kiếm, tìm
ra phần tử cụ thể mà ta đang cần.
// Sẽ ẩn mọi thẻ

trên một trang
$("p").hide();
// Sẽ ẩn phần tử đầu tiên của trang, không xét đến thẻ HTML
$(":first").hide();
// Thông báo cách sử dụng tổ hợp để tìm mịn hơn với điều kiện tìm kiếm.
// Nó sẽ chỉ ẩn thẻ

đầu tiên trên trang đã cho.
$("p:first").hide();

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 15


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

Các ứng dụng RIA ngày nay dường như tập trung vào các biểu mẫu
và các phần tử được chứa trong nó (các trường văn bản, các nút, các hộp
đánh dấu chọn (check boxes), các nút tròn (radio buttons), v.v..), chúng tập
hợp và truyền tải thông tin đến và đi từ máy chủ. Do tầm quan trọng của
chúng trong RIAs, nên các bộ lọc này có một tầm quan trọng đặc biệt trong
việc làm việc với jQuery trong các loại ứng dụng web hiện tại.


Các bộ lọc bắt đầu bằng một dấu ": " để biểu thị chúng là một bộ
lọc. Ngoài ra, chúng có thể được sử dụng trong tổ hợp với các bộ lọc tìm
kiếm khác để đảm bảo tinh chỉnh hơn nữa. Vì vậy, một bộ lọc tìm kiếm
của ":text" sẽ trả lại mọi trường văn bản trên một trang, trong khi bộ lọc
tìm kiếm của ":largeFont:text" sẽ chỉ trả lại các trường văn bản trên một
trang, các trường này là một phần của lớp "largeFont". Điều này sẽ cho
phép sàng lọc hơn nữa và thao tác của các phần tử biểu mẫu thức.
Các bộ lọc biểu mẫu cũng gồm các thuộc tính cá nhân của các phần
tử, đây là những điều thích hợp và tốt mà các nhà phát triển ứng dụng phải
biết. Vì vậy, các bộ lọc như ":checked", ":disabled" và ":selected"" sẽ tinh
chỉnh hơn nữa các tiêu chí tìm kiếm cho một tìm kiếm nhất định.

IV. Duyệt
Sau khi tìm kiếm và lọc tất cả các phần tử trên một trang, cần một
phương pháp hiệu quả để duyệt các kết quả và hành động đối với các phần
tử này. jQuery cung cấp một vài phương cách để duyệt các kết quả tìm
kiếm này.
Kỹ thuật duyệt đầu tiên và phổ biến nhất là sử dụng hàm each().
Hàm này giống như hàm "for loop" về mặt lập trình, vòng lặp qua từng
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 16


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

phần tử và tăng dần (incrementing) cho phần tử với mỗi lần lặp đi lặp lại.
Ngoài ra, một tham chiếu đến từng phần tử trong vòng lặp có thể được

thực hiện với cú pháp "this" (để sử dụng cú pháp JavaScript đều đặn), hoặc
cú pháp $(this) (để sử dụng trong các lệnh jQuery).
Ví dụ:
// Sẽ lặp qua mỗi thẻ

trên trang. Thông báo sự sử dụng hàm
// inline tại đây -- đây là sự tương tự với lớp vô danh trong Java.
// Có thể gọi hàm tách biệt, hoặc viết một hàm inline thư thế này.
var increment = 1;
$("p").each(function(){
// Thêm số đếm mục vào đằng trước chúng. Thông báo ta có thể dùng biến
// $(this) để truy cập vào từng cá thể của các phần tử mục riêng biệt.
$(this).text(increment + ". " + $(this).text());
increment++;
});

Vì rằng các kết quả tìm kiếm được lưu trữ trong một mảng, nên ta
mong muốn các hàm làm việc thông qua mảng đó giống như ta có thể làm
với bất kỳ dữ liệu đối tượng nào trong bất kỳ ngôn ngữ lập trình. Vì vậy,
để tìm chiều dài của một kết quả tìm kiếm nhất định, ta có thể gọi hàm $
().length trên một mảng. Một số hàm duyệt mảng khác được bổ sung phù
hợp một cách thích đáng với việc duyệt mảng trong các ngôn ngữ lập trình
khác.
Các hàm mảng bổ sung:
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 17


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến



// Hàm eq() đưa bạn đến một phần tử mọtt cách trực tiếp.
// Trường hợp này, nó sẽ lấy mục thứ 3 và ẩn nó đi
$("p").eq(2).hide();
// Hàm slice() cho phép bạn đưa vào chỉ số đầu và cuối của mảng, để tạo
một
// tập con của mảng. Nó sẽ ẩn các mục từ thứ 3 đến thứ 5 trong trang này
$("p").slice(2,5).hide();

Ngoài các hàm duyệt mảng này, jQuery cũng cung cấp các hàm cho
phép tìm các phần tử lồng nhau theo thuật ngữ tìm kiếm. Điều này có ích
trong trường hợp ta muốn nhúng một nhãn văn bản bên cạnh một hình ảnh,
hoặc một thông báo lỗi bên cạnh một phần tử biểu mẫu. Việc sử dụng các
lệnh này cho phép tìm kiếm một phần tử biểu mẫu cụ thể và sau đó đặt một
thông báo lỗi trực tiếp bên cạnh nó bằng cách đặt nó vào trong phần tử tiếp
theo, một thẻ nối (span tag), như sau:
<input type=text class=validate><span></span>
function validateForm()
{
$(".validate:text").each(function(){
if ($(this).val()=="")
$(this).next().html("Trường này không được rỗng");
});
}

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 18



Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

CHƯƠNG 2
THƯƠNG MẠI ĐIỆN TỬ VÀ MÔ HÌNH
ĐẤU GIÁ TRỰC TUYẾN
I. Thương mại điện tử
1.1.Khái niệm về Thương mại điện tử
Có nhiều khái niệm về thương mại điện tử (TMĐT), nhưng hiểu một
cách tổng quát, TMĐT là việc tiến hành một phần hay toàn bộ hoạt động
thương mại bằng những phương tiện điện tử. TMĐT vẫn mang bản chất
như các hoạt động thương mại truyền thống. Tuy nhiên, thông qua các
phương tiện điện tử mới, các hoạt động thương mại được thực hiện nhanh
hơn, hiệu quả hơn, giúp tiết kiệm chi phí và mở rộng không gian kinh
doanh.
TMĐT càng được biết tới như một phương thức kinh doanh hiệu quả
từ khi Internet hình thành và phát triển. Chính vì vậy, nhiều người hiểu
TMĐT theo nghĩa cụ thể hơn là giao dịch thương mại, mua sắm qua
Internet và mạng (ví dụ mạng Intranet của doanh nghiệp).

1.2. Lợi ích của TMĐT
Lợi ích lớn nhất mà TMĐT đem lại chính là sự tiết kiệm chi phí và
tạo thuận lợi cho các bên giao dịch. Giao dịch bằng phương tiện điện tử
nhanh hơn so với giao dịch truyền thống, ví dụ gửi fax hay thư điện tử thì
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 19



Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

nội dung thông tin đến tay người nhận nhanh hơn gửi thư. Các giao dịch
qua Internet có chi phí rất rẻ, một doanh nghiệp có thể gửi thư tiếp thị,
chào hàng đến hàng loạt khách hàng chỉ với chi phí giống như gửi cho một
khách hàng. Với TMĐT, các bên có thể tiến hành giao dịch khi ở cách xa
nhau, giữa thành phố với nông thôn, từ nước này sang nước kia, hay nói
cách khác là không bị giới hạn bởi không gian địa lý. Điều này cho phép
các doanh nghiệp tiết kiệm chi phí đi lại, thời gian gặp mặt trong khi mua
bán. Với người tiêu dùng, họ có thể ngồi tại nhà để đặt hàng, mua sắm
nhiều loại hàng hóa, dịch vụ thật nhanh chóng.
Những lợi ích như trên chỉ có được với những doanh nghiệp thực sự
nhận thức được giá trị của TMĐT. Vì vậy, TMĐT góp phần thúc đẩy sự
cạnh tranh giữa các doanh nghiệp để thu được nhiều lợi ích nhất. Điều này
đặc biệt quan trọng trong bối cảnh hội nhập kinh tế quốc tế, khi các doanh
nghiệp trong nước phải cạnh tranh một cách bình đẳng với các doanh
nghiệp nước ngoài.

1.3. Các lọai hình ứng dụng TMĐT
Dựa vào chủ thể của thương mại điện tử, có thể phân chia thương
mại điện tử ra các loại hình phổ biến như sau:
- Giao dịch giữa doanh nghiệp với doanh nghiệp - B2B (business to
business).
- Giao dịch giữa doanh nghiệp với khách hàng - B2C (business to
consumer).
- Giao dịch giữa doanh nghiệp với cơ quan nhà nước - B2G
(business to government).
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT


Trang 20


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

- Giao dịch trực tiếp giữa các cá nhân với nhau - C2C (consumer to
consumer).
- Giao dịch giữa cơ quan nhà nước với cá nhân - G2C (government
to consumer).
1.3.1. B2B

B2B là loại hình giao dịch qua các phương tiện điện tử giữa doanh
nghiệp với doanh nghiệp. Theo Tổ chức Liên hợp quốc về Hợp tác và Phát
triển kinh tế (UNCTAD), TMĐT B2B chiếm tỷ trọng lớn trong TMĐT
(khoảng 90%). Các giao dịch B2B chủ yếu được thực hiện trên các hệ
thống ứng dụng TMĐT như mạng giá trị gia tăng (VAN); dây chuyền cung
ứng hàng hoá, dịch vụ (SCM), các sàn giao dịch TMĐT… Các doanh
nghiệp có thể chào hàng, tìm kiếm bạn hàng, đặt hàng, ký kết hợp đồng,
thanh toán qua các hệ thống này. Ở một mức độ cao, các giao dịch này có
thể diễn ra một cách tự động. TMĐT B2B đem lại nhiều lợi ích thực tế cho
doanh nghiệp, đặc biệt giúp giảm các chi phí về thu thập thông tin tìm hiểu
thị trường, quảng cáo, tiếp thị, đàm phán, tăng các cơ hội kinh doanh,…
1.3.2. B2C

B2C là loại hình giao dịch giữa doanh nghiệp và người tiêu dùng
qua các phương tiện điện tử. Doanh nghiệp sử dụng các phương tiện điện
tử để bán hàng hóa, dịch vụ tới người tiêu dùng. Người tiêu dùng thông

qua các phương tiện điện tử để lựa chọn, mặc cả, đặt hàng, thanh toán,
nhận hàng. Giao dịch B2C tuy chiếm tỷ trọng ít (khoảng 10%) trong
TMĐT nhưng có sự phạm vi ảnh hưởng rộng. Để tham gia hình thức kinh
doanh này, thông thường doanh nghiệp sẽ thiết lập website, hình thành cơ
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 21


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

sở dữ liệu về hàng hoá, dịch vụ; tiến hành các quy trình tiếp thị, quảng cáo,
phân phối trực tiếp tới người tiêu dùng. TMĐT B2C đem lại lợi ích cho cả
doanh nghiệp lẫn người tiêu dùng. Doanh nghiệp tiết kiệm nhiều chi phí
bán hàng do không cần phòng trưng bày hay thuê người giới thiệu bán
hàng, chi phí quản lý cũng giảm hơn. Người tiêu dùng sẽ cảm thấy thuận
tiện vì không phải tới tận cửa hàng, có khả năng lựa chọn và so sánh nhiều
mặt hàng cùng một lúc.
1.3.3. B2G

B2G là loại hình giao dịch giữa doanh nghiệp với cơ quan nhà nước,
trong đó cơ quan nhà nước đóng vai trò khách hàng. Quá trình trao đổi
thông tin giữa doanh nghiệp với cơ quan nhà nước được tiến hành qua các
phương tiện điện tử. Cơ quan nhà nước cũng có thể thiết lập những website
tại đó đăng tải thông tin về nhu cầu mua hàng của các cơ quan nhà nước,
tiến hành việc đấu thầu hàng hoá, dịch vụ và lựa chọn nhà cung cấp trên
website. Điều này một mặt giúp tiết kiệm các chi phí tìm nhà cung cấp,
đồng thời giúp tăng cường tính minh bạch trong hoạt động mua sắm công.

1.3.4. C2C

C2C là loại hình giao dịch giữa các cá nhân với nhau. Sự phát triển
của các phương tiện điện tử làm cho nhiều cá nhân có thể tham gia hoạt
động thương mại với tư cách là người bán, người cung cấp dịch vụ. Một cá
nhân có thể tự thiết lập website để kinh doanh những mặt hàng do mình
làm ra hoặc sử dụng một website có sẵn để đấu giá một số món hàng mình
có. C2C góp phần tạo nên sự đa dạng của thị trường.
1.3.5. G2C

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 22


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

G2C là loại hình giao dịch giữa cơ quan nhà nước với cá nhân. Đây
chủ yếu là các giao dịch mang tính hành chính, nhưng có thể mang những
yếu tố của TMĐT. Ví dụ khi người dân đóng tiền thuế qua mạng, trả phí
khi đăng ký hồ sơ trực tuyến, v.v...

II. Đấu giá trực tuyến
2.1. Khái niêm về đấu giá trực tuyến
Mô hình đấu giá trực tuyến là hình thức mà các bên tham gia đấu giá
sản phẩm và dịch vụ thông qua Internet. Các hoạt động mua và bán trong
đấu giá trực tuyến sẽ được phần mềm đấu giá kiểm soát.


2.2. Các phương thức đấu giá trực tuyến
2.2.1. Đấu giá kiểu Anh

Đây là hình thức đấu giá từ thấp tới cao. Người tham gia sẽ trả giá
công khai với nhau, giá sau cao hơn giá trước. Cuộc đấu giá kết thúc khi
không ai đưa ra giá cao hơn hoặc đã đạt tới mức giá trần, khi đó người
chiến thắng là người đưa ra mức giá cao nhất.
2.2.2. Đấu giá kiểu Hà Lan

Đấu giá Hà Lan là một hình thức đấu giá mà trong cuộc đấu giá này,
một món hàng được chào với một mức giá rất cao. Giá ban đầu được đưa
ra này cao hơn rất nhiều giá trị món hàng và chẳng có người bán nào hy
vọng bán được món hàng với giá cao như vậy. Vì bidders biết số lượng của
bids, bids không được đóng dấu như trong các hình thức đấu giá khác.Giá

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 23


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

được giảm xuống từ từ cho đến khi một bidder quyết định cái giá hiện tại
đó. Bidders sẽ trả cái giá đó và trở thành người thắng cuộc.

2.3. Những ưu điểm của mô hình đấu giá trực tuyến
2.3.1. Không ràng buộc về mặt thời gian


Các sản phẩm được liệt kê trong một khoảng thời gian nhất định (tùy
theo người bán), trong khoảng thời gian này người tham gia đấu giá có thể
đặt giá vào bất thời lúc nào.
Xóa bỏ khoảng cách địa lý: Người mua, người bán có thể tham gia
từ bất kì nơi nào có máy tính truy cập Internet.
2.3.2. Sức mạnh của tương tác xã hội

Tương tác xã hội mà liên quan đến quá trình đấu giá thì giống như
việc đánh bạc. Những người đấu giá chờ đợi trong hi vọng là họ sẽ thắng
(eBay gọi những người đặt giá thành công là những người chiến thắng).
Cũng giống như sự ham mê cờ bạc, nhiều người tham gia đặt giá chủ yếu
để "chơi trò chơi" chứ không muốn giành được món hàng. Và điều này tạo
ra một sự phân chia lớn các khách hàng tiềm năng của eBay.
2.3.3. Số lượng người đấu giá lớn

Bởi vì tiềm năng có giá thấp, hàng hóa và dịch vụ đa dạng, dễ dàng
tham gia và lợi ích xã hội của quá trình đấu giá.
2.3.4. Số lượng người bán hàng lớn

Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 24


Báo cáo ĐATN

Ứng dụng jQuery xây dựng Website Đấu giá trực tuyến

Bởi vì có nhiều người tham gia đặt giá, có thể đạt được giá cao,
giảm chi phí bán hàng, dễ buôn bán. Mạng lưới kinh doanh.

2.3.5. Số lượng lớn các người tham gia đấu giá

Điều này sẽ khuyến khích nhiều người bán, ngược lại số lượng lớn
các người bán sẽ làm tăng số lượng người đấu giá. Càng có nhiều hoạt
động thì hệ thống càng lớn mạnh, và mô hình kinh doanh càng trở nên có
giá trị cho những người tham gia.

2.4. Quy trình tham gia đấu giá trực tuyến

III. Penny Auctions
Website Đấu giá trực tuyến hoạt động theo nguyên tắc của hình thức
đấu giá trực tuyến Penny Auctions.

3.1. Mô tả chung
Penny auction là 1 hình thức đấu giá, trong đó người chơi (bidder)
muốn tham gia đặt giá (bid) phải tra một khoản phí nhất định. Người tham
gia mỗi lần ra giá thì mức giá nâng lên 1 cent (=1/100 USD). Đến thời
điểm kết thúc đấu giá (thời điểm này sẽ do bên tổ chức đấu giá đặt ra),
thì mỗi lần sản phẩm tiếp tục được đặt giá, bộ đếm thời gian sẽ được
reset lại một khoảng thời gian nhất định, cho đến khi không còn ai đặt
Sinh viên: Trần Thu Phương – Lớp 46K2 CNTT

Trang 25


×