SlideShare a Scribd company logo
1 of 57
Trường Đại Học Công Nghiệp TP. Hồ Chí Minh
===o0o===
Đồ Án Học Phần I
Đề Tài:
Viết Ứng Dụng Trên Ngôn Ngữ PHP & My SQL
Giáo Viên Hướng Dẫn: Nguyễn Văn Thắng
Sinh Viên Thực Hiện:
Văn Quốc Thịnh _ 11253321 _ NCTH5B
2
Mục Lục
Mở Đầu............................................................................................................................................ 4
Chương I: Tổng Quan Về Web Và Những Ngôn Ngữ Hỗ Trợ Viết Web.......................................... 5
I. Tổng Quan Về Web..................................................................................................................5
1. Web là gì.............................................................................................................................5
2. Web có mấy loại..................................................................................................................5
3. Cấu tạo của 1 trang Web.......................................................................................................6
4. Cấu trúc cơ bản của trang web.............................................................................................6
5. Mô hình hoạt của website.....................................................................................................8
II. NhữngNgôn Ngữ Hỗ Trợ Viết Web...........................................................................................8
1. Tổng quan về ASP ................................................................................................................8
2. Tổng quan về PHP..............................................................................................................12
3. Tổng quan về CGI...............................................................................................................14
4. Tổng quan về Perl..............................................................................................................14
5. Tổng quan về JSP...............................................................................................................15
6. Tổng quan về ColdFusion....................................................................................................16
7. Tổng quan về Tcl hay Tcl/Tk (Tool Command Language/Toolkit) ...........................................16
8. Tổng quan về Python.........................................................................................................17
Chương II: Nói Về Ngôn Ngữ PHP Và MySQL............................................................................. 17
I. Ngôn Ngữ PHP.......................................................................................................................17
1. Các khái niệm cơ bản.........................................................................................................17
2. Các đặc điểm của ngôn ngữ PHP ........................................................................................20
3. Biến và Hằng.....................................................................................................................21
4. Kiểu Dữ Liệu.....................................................................................................................25
5. Các toán tử........................................................................................................................25
6. Tham chiếu .......................................................................................................................26
7. Các hàm kiểm tra giá trị của biến ........................................................................................26
8. Các cấu trúc điểu khiển (if, switch, while, for …).................................................................26
9. Kết nối PHP với MySQL....................................................................................................30
II. Hệ Cơ Sở Dữ Liệu MySQL.......................................................................................................35
1. Tổng quan MySQL ............................................................................................................35
2. Bảng.................................................................................................................................35
3
3. Toán Tử............................................................................................................................42
4. Phát biểu SQL...................................................................................................................44
5. Import và export dữ liệu .....................................................................................................49
Chương III: Nói Về Bài Toán Ứng Dụng ....................................................................................... 53
I. Giới Thiệu Ứng Dụng..............................................................................................................54
II. Chức Năng Chính...................................................................................................................54
III. Database Diagram..............................................................................................................54
IV. Giao Diện Phần Mềm.........................................................................................................54
4
Mở Đầu
Văn Quốc Thịnh _ 11253321 _ NCTH5B
Em xin chân thành cảm ơn thầy Nguyễn Văn Thắng đã tận tình giúp đỡ em hoàn thành đồ án này. Do
kiến thức còn hạn chế nên bài này còn nhiều thiếu xót, em mong nhận được nhiều ý kiến và đánh giá của
thầy
Văn Quốc Thịnh
5
Chương I: Tổng Quan Về Web Và Những Ngôn Ngữ Hỗ Trợ
Viết Web
I. Tổng Quan Về Web
1. Web là gì
Website là tập hợp của rất nhiều trang web - một loại siêu văn bản (tập tin dạng HTML hoặc
XHTML) trình bày thông tin trên mạng Internet- tại một địa chỉ nhất định để người xem có thể truy cập
vào xem. Trang web đầu tiên người xem truy cập từ tên miền thường được gọi là trang chủ (homepage),
người xem có thể xem các trang khác thông qua các siêu liên kết (hyperlinks)
Đặc điểm tiện lợi của website: thông tin dễ dàng cập nhật, thay đổi, khách hàng có thể xem thông tin ngay
tức khắc, ở bất kỳ nơi nào, tiết kiệm chi phí in ấn, gửi bưu điện, fax, thông tin không giới hạn (muốn đăng
bao nhiêu thông tin cũng được,không giới hạn số lượng thông tin, hình ảnh...) và không giới hạn phạm vi
khu vực sử dụng (toàn thế giới có thể truy cập).
Một website thông thường được chia làm 2 phần: giao diện người dùng (front-end) và các chương
trình được lập trình để website hoạt động (back-end). Giao diện người dùng là định dạng trang web
được trình bày trên màn hình của máy tính của người xem (máy khách) được xem bằng các phần
mềm trình duyệt web như Internet Explorer, Firefox,... Tuy nhiên ngày nay người xem có thể xem
website từ các thiết bị điện tử khác như điện thoại di động, PDA,...Việc trình bày một website phải
đảm bảo các yếu tố về thẩm mỹ đẹp, ấn tượng; bố cục đơn giản, dễ hiểu và dễ sử dụng, các chức
năng tiện lợi cho người xem. Đặc biệt ngày nay, website trở nên sống động với những hiệu ứng đa
dạng của hình ảnh và chữ kết hợp với âm thanh.
Nguồn: http://www.v3s.vn/1/84/-website-la-gi
2. Web có mấy loại
Thông thường, website được chia thành 2 loại:
- Website tĩnh: là website không có Cơ Sở Dữ Liệu mà chỉ là các trang web do người thiết kế tạo
thành bằng các phần mềm tạo trang website. Website này thích hợp cho những nội dung trình
bày phức tạp, đòi hỏi cao về đồ họa và ít thay đổi về nội dung vì việc cập nhật website này phải
do những người có chuyên môn thực hiện và khá tốn công.
- Website động: là website có Cơ Sở Dữ Liệu do các công ty thiết kế chuyên nghiệp xây dựng và
sẽ bàn giao công cụ quản lý, cập nhật website cho khách hàng. Việc cập nhật website rất đơn
giản và tiện lợi. Thông tin trên website thường xuyên được cập nhật và không giới hạn lượng
thông tin.
Nguồn: http://www.vecvn.com/faq/co-may-loai-website--.aspx
6
3. Cấu tạo của 1 trang Web
Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3 phần:
 <!Doctype>:Phần khai báochuẩn của html hay xhtml.
 <head></head>:Phầnkhai báo ban đầu,khai báovề meta,title,css,javascript…
 <body></body>:Phầnchứa nội dung của trang web,nơi hiểnthị nội dung.
Cấu trúc cơ bản
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Tiêu đề trang web</title>
</head>
<body>
...Phần thân viết ở đây...
</body>
</html>
4. Cấutrúc cơ bản của trangweb
Mỗi trang web đều có cách thể hiện cấu trúc khác nhau, có trang 1 cột, có trang 2 và cũng có
trang chứa nhiều cột, bên dưới đây chúng ta tham khảo một trang đơn giản sử dụng 2 cột để
layout.
 Phần đầu: header,có thể chứa logo, câu slogan, các liên kết, các banner liên kết, các button,
đoạn flash, hoặc các form ngắn như form tìm kiếm,...
 Phần liên kết toàn cục: global navigation, dùng để chứa các liên kết đến những trang quan trọng
trong toàn bộ trang, trong phần này có thể chứa thêm các liên kết con (sub navigation).
 Phần thân của trang: page body, phần này chứa phần nội dung chính (content) và phần nội dung
phụ (sidebar).
 Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiện cho người dùng xem.
 Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng trang (local navigation),
hoặc các banner chứa liên kết liên quan, hoặc có thể dùng để chứa các liên kết quảng cáo,...
 Phần cuối trang web: footer, phần này thường chứa phần liên hệ như: tên công ty, địa chỉ, số
điện thoại, mail liên hệ,... và đặc biệt là copyright, hoặc có thể chứa các liên kết toàn trang, các
banner liên kết,...
7
Nguồn: http://www.hocwebchuan.com/tutorial/tut_html_basic.php
8
5. Mô hình hoạt của website
Nguồn: http://www.pcworld.com.vn/pcworld/info/misc/2007/7/A0707_UD_138b.jpg
II. Những Ngôn Ngữ Hỗ Trợ Viết Web
1. Tổngquanvề ASP
Giới thiệu về Asp.net
Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để
xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows. ASP
đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu
quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object)
- làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript,
JavaScript. Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài.
Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này
làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả
năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ
bị mất source code. Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên
phần nào hạn chế về mặt tốc độ thực hiện. Quá trình xử lý Postback khó khăn, …
Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu
là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, không những không cần đòi hỏi bạn
phải biết các tag HTML, thiết kế web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong
quá trình xây dựng và phát triển ứng dụng Web.
9
ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên
nền tảng của Microsoft .Net Framework.
Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía
Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser
yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà
Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn
hình.
ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví
dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server. Sau khi được Server
đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về
cho Client.
Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở
phía server.
Ưu điểm của Asp.net
- ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu thích: Visual
Basic.Net, J#, C#,…
- Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch mỗi khi trang web được
yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi
hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông
dịch của ASP.
ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với
XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng -> Dễ
đọc, dễ quản lý và bảo trì.
Kiến trúc lập trình giống ứng dụng trên Windows.
Hỗ trợ quản lý trạng thái của các control
Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser
Hỗ trợ nhiều cơ chế cache.
Triển khai cài đặt
10
Không cần lock, không cần đăng ký DLL
Cho phép nhiều hình thức cấu hình ứng dụng
Hỗ trợ quản lý ứng dụng ở mức toàn cục
Global.aspx có nhiều sự kiện hơn
Quản lý session trên nhiều Server, không cần Cookies
ASP.NET là một mô hình thiết kế website thống nhất bao gồm cách dịch vụ cần thiết để xây
dựng các ứng dụng website doanh nghiệp lớn. ASP.NET là một phần của NET Framework.
Ở chủ đề này chúng tôi sẽ mô tả các tính năng của ASP.NET và Visual Web Developer, môi
trường phát triển tạo ra các ứng dụng ASP.NET.
Visual Web Developer:
Visual Web Developer là một môi trường phát triển đầy đủ tính năng để tạo ra các ứng dụng
website ASP.NET.
Các tính năng: bố trí trang web phù hợp với các trang tổng thể và sự xuất hiện trang phù hợp với
các chủ đề.
Chỉnh sửa mã : trình biên tập cho phép bạn viết mã cho các website động trong Visual Basic
hoặc C#.
Kiểm tra và gỡ rối : Máy chủ web thử nghiệm và gỡ rối giúp bạn tìm thấy lỗi trong chương trình.
Triển khai : Công cụ tự động hóa các nhiệm vụ cho việc triển khai một ứng dụng web đến một
máy chủ lưu trữ hoặc nhà cung câp lưu trữ.
Các website dự án và ứng dụng với ASP.NET
Sử dụng Visual 2010, bạn có thể tạo ra các dự án khác nhau với ASP.NET, bao gồm các trang
web, các ứng dụng web,các dịch vụ web, và điều khiển máy chủ AJAX.
Có một sự khác biệt giữa các dự án website và các dự án ứng dụng website. Một số tính năng chỉ
làm việc với các dự án ứng dụng web như công cụ MVC và một số đẻ tự động hóa việc triển
khai web. Các tính năng khác như đồng bộ hóa dữ liệu, làm việc với trang web và các dự án ứng
dụng web.
ASP.NET API Reference
Cung cấp một lượng lớn các thư viện dung cho ASP.NET.
11
Trang web và các điều khiển.
Trang ASP.NET và điều khiển là một chương trình chạy trên máy chủ tự động đưa ra các trang
ASP.NET. Các trang ASP.NET có thể được yêu cầu từ bất kỳ trình duyệt nào hoặc các thiết bị
của khách hàng. Theo quy định bạn có thể sử dụng cùng một website cho nhiều trình
duyệt.ASP.NET là công cụ thiết kế website hoàn toàn hướng đối tượng. Nó cũng cho phép đóng
gói các chức năng giao diện người dung thông thường dễ sử dụng,kiểm soát để có thể tái sử
dụng.
Ngoài ra các chủ đề cũng giúp bạn xác định trang chủ để tạo ra và bố trí phù hợp cho các website
trong ứng dụng của bạn. Khung trang ASP.NET cũng cho phép bạn xác định mô hình các URL
sẽ được sử dụng trong website của bạn. Điều này giúp tối ưu hóa công cụ tìm kiếm và làm cho
các URL thân thiện với người sử dụng.
Biên dịch ASP.NET
ASP.NET biên dịch, cho phép tối ưu hóa hiệu xuất,tối ưu hóa ràng buộc và những lợi ích khác.
Một khi mã đã được biên dịch, thời gian chạy sẽ được cải thiện.
Bảo Mật
Ngoài các tính năng bảo mật cung cấp một sơ sở bảo mất tiên tiến để chứng thực và cho phép
người dung truy cập vào các nhiệm vụ liên quan đến an ninh.Bạn có thể xác thực bằng cách sử
dụng window xác thực được cung cấp bởi IIS hoặc quản lý xác thực bằng cơ sở dữ liệu người
dùng riêng.
Cấu hình ASP.NET
ASP.NET sử dụng một cấu hình hệ thống cho phép bạn xác định và thiết lập cấu hình cho máy
chủ web của bạn. ASP.NET thiết lập cấu hình được lưu trữ trong các tập tin XML.
Hỗ trợ gỡ lỗi
ASP.NET có lợi thế gỡ lỗi trong thời gian chạy để cung cấp quá ngôn ngữ và hỗ trợ gỡ lỗi qua
máy tính. Bạn có thể gỡ lỗi cả hai đối tượng quản lý và không được quản lý.
Web Service Framework ASP.NET hỗ trợ các dịch vụ web XML cho phép ứng dụng trao đổi
thông tin qua bức tường lửa bằng cách sử dụng các tiêu chuẩn như HTTP và XML. Bất cứ ngôn
ngữ lập trình web nào cũng có thể trao đổi thông tin và truy cập các dịch vụ web XML.
Ứng dụng web dựa trên mô hình MVC
ASP.NET MVC giúp các nhà phát triển web xây dựng ứng dụng dựa trên tiêu chuẩn được dễ
dàng duy trì bởi nó giảm sự phụ thuộc vào các class.
12
ASP.NET sử dụng dữ liệu động
ASP.NET sử dụng dữ liệu động cho phép bạn tạo ra các ứng dụng web hướng dữ liệu một cách
dễ dàng.Bạn sẽ tìm thấy rằng bạn có thể nhận được các ứng dụng chạy dễ dàng hơn và với ít mã
hơn so với trước đây. Đồng thời bạn có thể thêm các tính năng tùy chỉnh để các dữ liệu
ASP.NET động để thích ứng với yêu cầu riêng của bạn.
Ở phần đầu tiên này bạn tạo được tiền đề cho việc học các hướng dẫn thiết kế website của chúng
tôi. Ở phần tiếp theo chúng tôi sẽ giới thiệu chi tiết hơn về ASP.NET.
Nguồn: http://www.ancoti.com/tong-quan-ve-aspnet.html
2. Tổngquanvề PHP
PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ
yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát.
Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web,
tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với
các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Thẻ <?php và thẻ ?> sẽ đánh đấu sựbắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch
mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng
trong việc xây dựng phần giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc.,
công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát
triển ở quy mô doanh nghiệp.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu
được xem nhưlà một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch
của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là ‘Personal Home Page Tools’. Khi cần đến các chức
năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp
cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho
mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.
PHP/FI, viết tắt từ “Personal Home Page/Forms Interpreter”, bao gồm một số các chức năng cơ bản cho PHP như ta
đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML
nhúng.Cú pháp này giống nhưcủa Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên
toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên
mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào
thời đó nó vẫn chủ yếu chỉ là dự án của một người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng
các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
13
PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được
biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn
trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát
triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực
hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp
tác và công bố PHP 3.0 nhưlà phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0.
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung
cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau,các
tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới.
Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính
năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất
quán khác.
Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục
đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là ‘PHP’, một kiểu viết tắt hồi
quy của “PHP: Hypertext Preprocessor”.
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục
ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web
có trên mạng Internet.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm.
PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt
đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức
tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các
tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết
kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả.
Một động cơ mới, có tên ‘Zend Engine’ (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các
nhu cầu thiết kế này một cách thành công,và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên
động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung,đã chính thức được công bố vào tháng 5 năm 2000,
gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng
chủ yếu khác gồm có sựhỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra,
nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP,
chiếm khoảng 20% số tên miền trên mạng Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự
án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhómphát triển PHP tự mãn.Cộng đồng php đã
nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng
(OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những
điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã
cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn
14
Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6
năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của
Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất
được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn.
Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ
Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5
bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC
1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là
lỗi xác thực HTTP.
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với
sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và
thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân
Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP,
streams.
3. Tổngquanvề CGI
Ngôn ngữ kịch bản chạy trên môi trường máy chủ nói chung có thể phân thành hai loại cơ bản: Com mon Gateway
Interface (CGI, chương trình trả về mã HTML) và ngôn ngữ đánh dấu nhúng trong trang HTML.
Những thế hệ máy chủ web (web server hay HTTP server) đầu tiên không tích hợp sẵn mô đun xử lý tạo nội dung
động mà dùng các giao tiếp (interface) để gọi các chương trình khác bên ngoài xử lý yêu cầu tạo nội dung động lúc
thực thi. Chuẩn giao tiếp đầu tiên được dùng để tạo nội dung web động là CGI. CGI không phải là một ngô n ngữ cụ
thể mà là giao thức liên lạc giữa máy chủ web và một chương trình ứng dụng bên ngoài. Nhiều người thường gắn
liền CGI với Perl do phần lớn kịch bản CGI thường được viết bằng ngôn ngữ này, nhưng nói chung CGI có thể viết
bằng bất kỳ ngôn ngữnào để được gọi như một chương trình chạy độc lập từ web server, chẳng hạn như Python,
Tcl, C/C + + và cả Java.
Phương pháp CGI có những hạn chế về hiệu suất. Chương trình CGI chạy bên ngoài web server và mỗi khi có yêu
cầu một trang web động thì đều phải khởi tạo tiến trình mới. Việc khởi tạo các tiến trình mới làm hao tốn tài nguyên
hệ thống và chậm tốc độ đáp ứng. Để giải quyết hạn chế của CGI, các phần mềm máy chủ web thế hệ sau tích hợp
sẵn khả năng xử lý tạo nội dung web động.Cũng có nhiều mô đun bổ sung cung cấp các hàm API tương tác trực
tiếp với web server.
Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu-
lap-trinh-web/
4. Tổngquanvề Perl
Perl (Practical Extraction and Report Language) là ngôn ngữ kịch bản mã nguồn mở có cú pháp tương tự như C.
Perl chạy ở chế độ nền phía server tạo nội dung web theo cách thức ẩn đối với người xem. Năm 1987, lrry Wall xây
dựng và phát triển Perl như là phiên bản cải tiến của awk với mục đích thực hiện tự động một số tác vụ quản trị h ệ
thống Unix (awk là một chương trình xử lý văn bản của Unix) . Sau đó Perl được phát triền dần và phổ biến với
nhiều dạng ửng dụng.Perl có tính đối tượng, nhờ vậy việc bổ sung thư viện mới rất dễ dàng.Nó thích hợp cho cả
ứng dụng web phức tạp lẫn các tác vụ xử lý dữ liệu đơn giản.
15
Đã có thời tất cả những việc tạo trang web động có lập trình đều dùng Perl, trước khi có những công nghệ khác như
ASP, JSP, PHP... và hiện Perl vẫn là một trong những ngôn ngữ được dùng phổ biến nhất để viết các ứng dụng web.
Hầu hết các máy chủ web hiện nay đều hỗ trợ Perl. Apache có hỗ trợ miễn phí tích hợp trình dịch Perl mod -perl.
Điều này không chỉ giúp tăng tốc mã lệnh Perl mà còn cải thiện hiệu suất nhờ mod-perl lưu lại các mã lệnh biên dịch
trong bộ nhớ. Mod_perl kết hợp với một số công nghệ khác cho phép xây dựng các website cao cấp, nổi bật nhất là
hai công nghệ HTML::Embperl và HTML::Mason.
Cá c giải pháp thương mại của Activestate và Binary Evolution cũng giúp tăng tốc Perl theo cách thức tương tự như
mod-perl. PerlEx của ActiveState tăng tốc chương trình CGI/PERL cho IIS trong khi sản phẩm của Binary
Evolution dùng cho Netscape,Apache, và IIS trên cả nền Windows và Unix.
Có rất nhiều tài liệu trên Net về Perl cũng như nhiều thư viện chương trình tiện ích miễn phí. Bạn có thể tìm thấy
những mô đun viết sẵn ở website CPAN (Comprehensive Perl Archive Network - www.cpan.org). Ngôn ngữ Perl
hiện đang phát triển đi xa hơn thiết kế ban đầu của nó.
Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu-
lap-trinh-web/
5. Tổngquanvề JSP
Java Server Pages (JSP) là sự mở rộng của công nghệ JavaServlet, một thành phần trong chuẩn J2EE của Sun. Với
JavaServlet, bạn phải xử lý đầu vào HTTP và đầu ra HTML trong lớp Java, bạn cần có kiến thức lập trình để xây
dựng các ứng dụng phức tạp. Với JSP bạn có thể tách riêng lớp hiển thị HTML ra khỏi lớp Java xử lý nghiệp vụ
phức tạp. Điều này có nghĩa là người phát triển có kinh nghiệm ngôn ngữ kịch bản, hay thậm chí người t hiết kế web
có thể viết mã lệnh hiển thị đơn giản, trong khi người phát triển có kiến thức về Java tập trung viết JavaServlet hay
JavaBean đề giải quyết nghiệp vụ phức tạp.
Tương tự ASP, JSP cũng thực hiện phép trộn nội dung HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường
server để tạo ra kết quả động. JSP dùng ngôn ngữ kịch bản mặc định là Java; tuy nhiên theo đặc tả kỹ thuật thì cũng
có thể dùng các ngôn ngữ khác. JSP có ưu điểm so với ASP là sau lần thực thi đầu tiên thì mã biên dịch (Servlet)
của trang JSP được lưu lại trong bộ nhớ của máy chủ web và sẵn sàng đáp ứng cho các yêu cầu truy cập sau đó
(trang ASP/VBSCRIPT hay Asp/jscript phải được dịch lại với mỗi yêu cầu). Lợi thế của JSP là sử dụng được toàn
bộ sức mạnh của ngôn ngữ Java với các tính năng khả chuyển,chạy được trên nhiều nền tảng hệ thống và máy chủ
web, mã lệnh hướng đối tượng, bảo mật an toàn...
Hiện chưa có nhiều dịch vụ đặt web hỗ trợ JSP. Tuy Java miễn phí nhưng các công
cụ phát triển Java và phần mềm máy chủ Java khá đắt. Các công cụ phát triển trang JSP tốt là Borland Jbuilder, IBM
WebSphere Studio. Một số phần mềm máy chủ Java hỗ trợ JSP miễn phí như Tomcat, JONAS.
Server-side JavaScript (SSJS) là sựmở rộng của JavaScript, ngôn ngữ kịch bản phổ biến chạy ở trình duyệt máy
khách có cú pháp giống như C, mặc dù có tên gọi tương tự nhưng nó không phải là Java. SSJS có các tính năng tích
hợp hỗ trợ cơ sở dữ liệu và email, quản lý phiên làm việc và khả năng liên tác với các lớp Java dùng công nghệ
Livewire của Netscape. SSJS chỉ chạy trên máy chủ web Netscape.
Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu-
lap-trinh-web/
16
6. Tổngquanvề ColdFusion
Đây là ngôn ngữkịch bản do hãng Allaire phát triể n, hiện đã được Macromedia mua lại. Coldfusion được thiết kế
ngay từ đầu chuyên dành cho nền tảng ứng dụng web, nó không bị ràng buộc bởi các mô hình công nghệ trước đây
trong việc tìm giải pháp thích hợp cho những vấn đề mà các nhà phát triển web gặp phải. CFML (Cold Fusion
Markup Language) là ngôn ngữ rất mạnh và dễ học, dùng tập thẻ lệnh tương tự như thẻ lệnh HTML. Một điểm đặc
biệt là mỗi trang Colfusion có thể dùng như một thẻ lệnh: ví dụ bạn có file list.cfm thì một trang khác có thể dùng nó
như thẻ Coldfusion cũng có tập hàm API mạnh và có một số chức năng hay như mảng, cấu trúc, xử lý lỗi...
Công cụ phát triển Coldfusion Studio là một trong những công cụ phát triến tốt nhất.Công cụ thiết kế web
Macromedia Dreamweaver hỗ trợ tạo tự động mã lệnh CFML và cả JSP. Phần mềm máy chủ Coldfusion không
miễn phí, do vậy tăng phí dịch vụ web.
Các ngôn ngữ như ASP, Coldfusion, JSP và PHP được quan tâm rất nhiều, nhưng các ngôn ngữ giới thiệu dưới đây
cũng được dùng để phát triển một số ứng dụng chuyên biệt và được dùng cho số lượng không nhỏ website.
Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu-
lap-trinh-web/
7. Tổngquanvề Tcl hayTcl/Tk(Tool CommandLanguage/Toolkit)
Theo John Ousterhout,cha đẻ của ngôn ngữ Tcl, thoạt đầu nó được tạo như là ngôn ngữ lệnh kết nối các chương
trình ứng dụng đánh giá sinh viên ở đại học Berkerley. Tcl không được thiết kế để xây dựng các chương trình tính
toán lớn và phức tạp. Chương trình Tcl - được gọi là script - thực hiện phân luồng dữ liệu từ một chương trình này
đến chương trình khác. Các chương trình lớn và chạy nhanh thực hiện phần công việc nặng nhọc, chương trình Tcl
gắn các chương trình lớn này lại với nhau.Tcl là ngôn ngữ hướng đối tượng.
Điểm mạnh nhất của Tcl là khả năng điều khiển, liên kết các thiết bị hay chương trình ứng dụng.Hai đặc tính chủ
chốt của ngôn ngữ: khả năng nhúng và mở rộng. Phương tiện mở rộng mà Tcl cung cấp (giao diện lập trình) có thể
dùng để tạo các tính năng mới trong ngôn ngữ bằng chương trình C, C++ hay Java. Rất nhiều mô đun mở rộng cho
Tcl được viết và cung cấp miễn phí trên internet, công cụ GUI hỗ trợ thiết kế giao diện Toolkit (Tk) là một ví dụ
điển hình. Các ngôn ngữ khác như Perl, Python cũng dùng Tk. Một điểm mạnh khác của Tcl là khả năng kiểm soát
văn bản nhập vào chính khả năng này làm cho Tcl được dùng phổ biến để tạo các trang và hình ảnh lúc thực thi trên
web. Với khả năng này, có thể Tcl càng phổ biến hơn trong tương lai nhờ XML (Extensible Markup Language),
ngôn ngữ cho phép thể hiện dữ liệu dưới dạng văn bản. Công cụ miễn phí Tclpro của Scriptics cung cấp môi trường
phát triển Tcl. Một số mô đun miễn phí tích hợp Tcl với Apache như mod_tcl, Neowebscript.
Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu-
lap-trinh-web/
17
8. Tổngquanvề Python
Được phát triển từ năm 1990, Python là ngôn ngữ có tính đối tượng cao, khả chuyển,cú pháp đơn giản và mã nguồn
mở. Python có thể mở rộng về mặt hệ thống bằng cách bổ sung thêm mô đun mới viết bằng ngôn ngữ biên dịch như
C hay C++. Mô đun bổ sung có thể định nghĩa hàm mới và biến mới cũng như các kiểu đối tượng mới. Python đặc
biệt thích hợp cho lập trình tính toán khoa học.
Python chưa phổ biến như PHP, ASP hay Perl, và hiện phần lớn dịch vụ web chưa hỗ trợ ngôn ngữ này. Apache có
mô đun miễn phí mod-python hỗ trợ Python.Một chọn lựa khác là Zope - máy chủ ứng dụng Python có mã nguồn
mở của Digital Creations.
Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu-
lap-trinh-web/
Chương II: Nói Về Ngôn Ngữ PHP Và MySQL
I. Ngôn Ngữ PHP
1. Cáckhái niệmcơ bản
A. HTML (Hypertext Markup Language)
HTML (hay Hypertext Markup Language-Ngôn ngữ liên kết siêu văn bản) là ngôn ngữ đánh dấu
chuẩn dùng lập trình các tài liệu World Wide Web, tài liệu là các tập tin văn bản đơn giản.
Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ cho các trình duyệt(Web browsers) cách hiển thị các
thành phần của trang như text và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn phím và
nhắp chuột. Hầu hết các Web browser, đặc biệt là Microsoft Internet Explorer và Netscape Navigator, nhận biết các
tag của HTML vượt xa những chuẩn HTML đặt ra. Microsoft FrontPage chỉ dùng để đọc và viết các tập tin HTML
mà không hiểu ngôn ngữ HTML yêu cầu phải làm gì.
Nguồn: http://thegioiweb.vn/Story/vn/Html_Css/thamkhaoHtml_Css/2008/5/4542.html
B. Web Programming Language
Web Programming Language (Ngôn ngữ lập trình web): ngôn ngữ viết theo phong cách lập trình (khác so
với HTML ngôn ngữ đánh dấu) để hổ trợ và tăng cường các khả năng của web.
Cho phép điều khiển các phần tử của trang web dễ dàng hơn.
18
Chúng ta có một số ngôn ngữ lấp trình web như: ASP,ASP.NET,PHP,JSP
C. Web Server
Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta
cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm
và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của
Microsoft dành cho *.asp,*.aspx...; Apache dành cho *.php...; Sun Java System Web Server của SUN
dành cho *p...
Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân
hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã
Script, các chương trình, và các file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc
Intranet) qua giao thức HTTP - giao thức được thiết kế để gửi các file đến trình duyệt Web (Web
Browser), và các giao thức khác.
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử
khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://www.abc.com sau đó gõ phím
Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com. Server này sẽ tìm trang
Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn.
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình
phần mềm Server Software và sau đó kết nối vào Internet.
Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang
Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong
muốn.
Giống như những phần mềm khác mà bạn đã từng càiđặt trên máy tính của mình, Web Server Software
cũng chỉ là một ứng dụng phần mềm. Nó được càiđặt, và chạy trên máy tính dùng làm Web Server, nhờ
có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính
khác ở trên mạng (Internet,Intranet).
Web Server Software còn có thể được tích hợp với CSDL (Database),hay điều khiển việc kết nối vào
CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người
dùng.
Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc
cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ lưu
chuyển thông tin từ server và máy tính truy cập.
Nguồn: http://www.citd.edu.vn/Vietnam/Home/index.php/quantrimang/dch-v-mng/195-web-server-la-gi-
?lang=
19
D. Database Server
Một dịch vụ cơ sở dữ liệu là một ứng dụng cơ bản trên mô hình kiến trúc máy chủ / máy khách. Ứng dụng
được chia làm hai phần : một phần chạy trên một máy khách(nơi mà người sử dụng tích luỹ và hiển thị
thông tin cơ sở dữ liệu) và phần còn lại chạy trên máy chủ cơ sở dữ liệu, nơi có nhiệm vụ kết nối, xử lý và
lưu trữ dữ liệu.
- Máy chủ cơ sở dữ liệu – Database Server (máy chủ phục vụ Cơ sở dữ liệu) là Máy tính chủ mà trên đó
có cài đặt phần mềm Hệ quản trị Cơ sở dữ liệu (HQTCSDL). Chúng ta có một số HQTCSDL chẳng hạn
như: SQL Server, MySQL, Oracle…
- Một máy chủ cơ sở dữ liệu là một chương trình máy tính cung cấp các dịch vụ cơ sở dữ liệu cho các
chương trình máy tính hoặc máy tính khác, như được định nghĩa bởi mô hình client-server. Thuật ngữ
cũng có thể tham khảo với một máy tính dành riêng để chạy một chương trình như vậy. Hệ thống quản lý
cơ sở dữ liệu thường xuyên cung cấp chức năng máy chủ cơ sở dữ liệu, và một số DBMSs (ví dụ,
MySQL) hoàn toàn dựa trên mô hình client-server để truy cập cơ sở dữ liệu.
Nguồn: http://vdo.vn/ung-dung-may-chu-co-so-du-lieu-database-server
E. Web Browser
Một web browser là một phần mềm ứng dụng để truy xuất, trình diễn và chuyển các nguồn thông tin
(information resource) trên mạng hệ thống mạng toàn cầu (World Wide Web). Một nguồn thông tin được
nhận dạng bởi một Uniform Resource Identifier (URI) và có thể là một trang web, phim - video, hình ảnh
(images) hoặc các mẫu thông tin khác.
Mặc dù các trình duyệt với mục đích là để truy cập vào hệ thống mạng toàn cầu,các trình duyệt còn
được sử dụng để truy cập các thông tin được cung cấp bởi các web servers (máy chủ web) trong hệ thống
mạng riêng hoặc các tài liệu (files) đến các hệ thống file (file system). Hoặc cũng được dùng để tiết kiệm
tài nguyên thông tin cho các hệ thống lưu trữ file.
Nguồn: http://esvn.com.vn/108/Kien-thuc-web/Web-browser---trinh-duyet-web-la-gi.html
F. URL (Uniform Resource Locator)
URL (Uniform Resource Locator) là địa chỉ của 1 tài nguyên trên Internet. Nó có thể là 1 website, 1 trang
web, 1 hình ảnh,… Nó có cấu trúc phân cấp giống như folder và file trên máy tính.
Nguồn: http://inet.edu.vn/tin-tuc/2993/url-la-gi.html
G. HTTP (Hypertext Transfer Protocol)
20
HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức
cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ
hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành
động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các
lệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ
được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên
trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình
duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức
ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet).
Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML
(HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các
trang Web được định dạng và hiển thị.
người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một
cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước mình. Đây chính là một hạn chế,
khiếm khuyết của HTTP. Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả
năng phản ứng thông minh đối với lệnh mà người dùng nạp vào. Và sự hạn chế này đang được các nhà
phát triển khắc phục trong các công nghệ mới như ActiveX, Java,JavaScript và cookies.
Nguồn: http://tin01brvt.forumvi.com/t70-http-la-gi
2. Các đặc điểm của ngôn ngữ PHP
–PHP đượcchạytrênhệthốngchủ(Server)
–PHP rấtđơngiản
–Tốcđộxửlý nhanh, dễsửdụng
–Luônđượccảitiếnvàcậpnhật(mãnguồnmở)
–Cónhiềuhướngdẫnsửdụngtrên mạng
–Hoàn toàn miễn phí
–PHP cóthểthực thitrên bất cứhệ điều hành (Operator
System) nào, chỉ cần cómột HTML Browser thích ứng là
được.
–PHP không chỉ làm việc với HTML mà còn cóthểlàm việc
được với hình ảnh, PDF, Flash movie,…
–PHP cóthểdễdàngnốikếtvớicáccơsởdữliệunhưmySQL,
21
mSQL, FrontBase, dBase,Solid, ODBC,Oracle,FilePro…
Nguồn:
3. Biến và Hằng
1. Hằng và biến
Nếu các bạn chưa từng học lập trình, chắc các bạn đang còn xa lạ với hằng và biến. OK, No Star
where
- Giống như trong toán học, một hằng số xác định một giá trị duy nhất thông qua tên của hằng
số, trong Tin học cũng vậy. Môt hằng số xác định một giá trị duy nhất trong toàn bộ chương
trình. Người ta có thể sử dụng giá trị này thông qua tên của hằng số đó trong chương trình
- Tương tự đối với biến. Một biến trong lập trình được sử dụng để lưu trữ một giá trị nào đó
thông qua tên biến. Sở dĩ người ta gọi nó là biến, vì không như hằng số (giữ nguyên giá trị trong
toàn bộ quá trình chạy chương trình), người ta có thể thay đổi giá trị của biến số thông qua các
phép gán.
Để tạo điều kiện dễ dàng trong quá trình phân tích dữ liệu, PHP quy định bất kỳ từ nào có dấu $
ở trước đều là tên của biến. Ví dụ:
$ten xác định một biến có tên là ten
$custome_name: xác định một biến có tên là $custome_name
Bạn cần biết rằng tên biến là một chuỗi các ký tự chỉ bao gồm các chữ số, chữ cái (a..z) và dấu
gạch dưới ( _ ). Và PHP quy định phân biệt các biến chữ hoa và chữ thường là khác nhau.
CHẳng hạn $ab và $Ab là 2 biến hoàn toàn khác nhau. Một điểm cần lưu ý khác là không được
đặt tên biến bắt đầu bằng các chữ số (0.. 9)
Do quy định các chuỗi ký tự có chứa dấu $ ở trước là một tên biến, nên PHP tự động khởi gán
giá trị của các biến này là rỗng (đối với kiểu dữ liệu văn bản) hoặc 0 đối với kiểu dữ liệu số. Bạn
sẽ được biết đến các kiểu dữ liệu sau này.
Để gán giá trị cho các biến, bạn sử dụng câu lệnh gán như sau:
$tên_biến = giá trị cần gán;
Ví dụ:
PHP Code:
$nam_sinh=1980;
$ho_ten="CMXQ";
Các bạn chú ý đến 2 ví dụ tôi nhập dữ liệu: một cái thì nằm trong cặp dấu ngoặc kép chỉ thị biến
đó chứa dữ liệu theo kiểu xâu, còn một cái thì không nằm trong cặp dấu ngoặc kép chỉ thị biến
đó chứa dữ liệu kiểu số. Bạn sẽ biết chi tiết hơn ở ngay sau đây:
2. Các kiểu dữ liệu trong PHP
PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string. Ngoài ra còn một số kiểu dữ liệu khác,
đượ xây dựng dựa trên các kiểu dữ liệu cơ bản trên, như mảng, object, mà chúng ta sẽ đề cập đến
22
sau. Tất cả các biến đều được chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của
chúng có thể bị thay đổi trong quá trình sử dụng.
Kiểu giá trị Integer sử dụng 4 byte của bộ nhớ. Đây là kiểu giá trị nguyên (không phải là số thực)
và có giá trị nằm trong khoảng từ -2 tỷ đến 2 tỷ. Kiểu dữ liệu double là kiểu dữ liệu số thực, cho
phép chứa các số thưc. Kiểu String được sử dụng để chứa các dữ liệu như là các ký tự văn bản,
ký tự đặc biệt và các chữ số. Dữ liệu kiểu string được đặt trong cặp dấu ngoặc kép ("") chỉ định
một xâu (hay còn gọi là chuỗi ký tự).
Ví dụ:
2: Kiểu integer;
2.0: kiểu double
"2": Kiểu xâu
"2 gio": Kiểu xâu
3.Định nghĩa hằng
Hàm define() được sử dụng để tạo một hằng số:
Hàm này có cấu trúc sau:
PHP Code:
define ("tên_hằng","giá trị của hằng");
Ví dụ:
PHP Code:
define ("COMPANY","NS Co.Ltd");// Định nghĩa hằng COMPANY với giá trị là "NS
Co Ltd"
define ("diem_so",4.5);// định nghĩa hằng diem_so với giá trị là 4.5 (hic...
thi lại );
Sau khi một hằng số được tạo ra, ta có thể sử dụng chúng thay cho giá trị của chúng:
PHP Code:
echo ("Tên công ty: ".COMPANY);
Điều này tương đương với echo ("Tên công ty: NS Co Ltd");
4. Một số hằng xây dựng sẵn (built in constant)
PHP có chứa một số hằng được xây dựng sẵn. TRUE và FALSE là 2 hằng đã được dựng sẵn với
chỉ định true (1) và false (=0 hoặc một xâu rỗng)
Hằng số PHP_VERSION chỉ định phiên bản của bộ phân tích PHP mà bạn đang dùng hiện tại.
Hằng PHP_OS chỉ định hệ điều hành server mà trình phân tích PHP đang chạy.
PHP Code:
echo (PHP_OS); // in ra màn hình "Linux" (ví dụ)
_FILE_and_LINE_ trả về tên của đoạn script (đoạn mã nhúng) đang được phân tích tại dòng
hiện thời trong đoạn mã script.
23
PHP còn cung cấp một số hàm để thông báo lỗi như E_ERROR, E_WARNING, E_PARSE và
E_NOTICE.
Ngoài ra, PHP còn cung cấp một số biến cung cấp thông tin về môi trường PHP đang sử dụng.
Để xem các thông tin này,bạn có thể dùng hàm phpinfo() như sau:
PHP Code:
<HTML>
<!-- phpinfo.php-->
<BODY>
<?php
phpinfo();
?>
</BODY>
</HTML
5. Lừa kiểu và ép kiểu dữ liệu
Như chúng ta đã biết, tất cả các biến PHP đều có kiểu dữ liệu riêng. Kiểu dữ liệu của biến sẽ
được tự động xác định bởi giá trị đặt vào biến
PHP Code:
$a=1 // $a là kiểu integer
$a=1.2 // Bây giờ, nó là kiểu double
$a="1" // Và bây giờ nó là kiểu string
a) Chuyển kiểu chuỗi và lừa kiểu dữ liệu
Nếu bạn làm các thao tác tính toán số trên một chuỗi, PHP sẽ tính toán chuỗi như là một số. Điều
này được biết đến với cái tên gọi là "chuyển kiểu chuối (String conversion), mặc dù giá trị chuỗi
của nó có thể không cần phải thay đổi. Trong đoạn ví dụ sau, biến $str được xác định là một
chuỗi:
PHP Code:
$str="756300 không có";
Nếu chúng ta cố cộng thêm một giá trị nguyên là 3 vào biến $str, biến $str sẽ tự động tính với số
nguyên 756300:
PHP Code:
$x=4+$str;//$x =756304
Nhưng bản thân giá trị của biến $str không thay đổi
PHP Code:
echo ($str); // In ra màn hình chuỗi "756300 không có"
Chuyển kiểu chuỗi phải tuân theo 2 nguyên tắc sau:
- Chỉ những chuỗi bắt đầ là một xâu các chữ số. Nếu chuỗi bắt đầu bằng một giá trị số hợp lệ,
chuỗi này sẽ được xác định như giá trị của nó, trong trường hợp khác, nó sẽ trả về 0. VD: chuỗi
"35 tuổi" sẽ được ước lượng là 35, nhưng chuỗi "tuổi 35" sẽ chỉ xác định giá trị 0.
24
- Một chuỗi sẽ chỉ được xác định như là một giá trị kiểu double nếu giá trị kiểu double được
miêu tả bao gồm toàn bộ chuỗi. Chuỗi "3.4", "-4.2" sẽ được ước lượng như giá trị thực 3.4 và -
4.2. Nếu một ký tự không phải là ký tự kiểu số thực được đưa vào chuỗi, giá trị của chuỗi đó sẽ
được ước lượng như là một số nguyên. Chuỗi "3.4 dollar" sẽ thành số nguyên 3.
Trong việc cộng với chuỗi chuyển kiểu, PHP sẽ thực hiện "lừa kiểu" giữa 2 kiểu số. Nếu bạn
thực hiện một phép toán số học giữa kiểu thực và kiểu nguyên, giá trị sẽ là số thực
PHP Code:
$a=1 //$ a là một số nguyên
$b= 1.0 //$b là số thực
$c=$a+$b //$c là kiểu số thực , = 2.0
$d = $c+"6th" //$d là kiểu số thực = 8.0
Ép kiểu dữ liệu
Ép kiểu dữ liệu cho phép bạn thay đổi kiểu dữ liệu của biến
PHP Code:
$a=11.2// $a là kiểu thực
$a=(int)$a// Bây giờ, $ a là kiểu nguyên, giá trị = 11
$a= (double) $a// Bây giờ $a lại trở về kiểu thực = 11.0
$b= (string)$a// $b là giá trị kiểu chuỗi ="11"
Ngoài ra, chúng ta còn được phép ép kiểu (array) và (object)
(integer) tương đương với (int); (fload) và (real) tương đương với (double)
6. Một số hàm tiện ích khác
PHP có một số hàm hỗ trợ làm việc với các biến
- Hàm gettype($ten_bien) xác định kiểu của biến. Nó sẽ trả về một trong các giá trị: "integer",
"double", "string", "array", "object", "class", "unknown type" (Chúng ta sẽ tìm hiểu kỹ hơn vể
mảng (array) và kiểu đối tượng (object) ở các bài sau.
Ví dụ:
PHP Code:
echo(gettype($name));
- Hàm settype($ten_bien,"kieu_du_lieu") sẽ đặt kiểu dữ liệu cho biến $ten_bien. Kiểu dữ liệu
được viết dưới dạng một chuỗi, và có thể có một trong các kiểu sau: "integer", "double", "string",
"array", "object". Nếu kiểu dữ liệu không được đặt, giá trị false sẽ được trả về, còn nếu thành
công, nó sẽ trả về giá trị true.
VD:
PHP Code:
$a=7.5; //$a là kiểu thực
settype($a,"integer"); // bây giờ nó là một số nguyên có giá trị 7
25
- Hàm isset($ten_bien) được sử dụng để xác định xem biến $ten_bien đã đặt một giá trị nào đó
hay chưa. Nếu biến đó đã có giá trị, hàm trả về true. Trong truờng hợp ngược lại, hàm trả về giá
trị false;
- Hàm unset($ten_bien) được sử dụng để huỷ bỏ biến $ten_bien, giải phóng bộ nhớ bị chiếm
dụng của biến đó
Nguồn: http://sinhvienit.net/@tut/lap-trinh-web-dong/php/90-bai-5-hang-va-bien-trong-php.html
4. Kiểu Dữ Liệu
• Boolean
• Integer
• Float / double
• String
• Array
• Object
<?php
$don_gia= 7000;
$so_luong= 900;
$thanh_tien= (double)($so_luong*$don_gia);
?>
Nguồn:
5. Các toán tử
• Toán tử số học: + - * / %(chialấydư)
• Toán tử nối chuỗi: .
• Toán tử gán kết hợp:
• += $a += $b; $a = $a+ $b;
• ++ $a++; $a = $a+ 1;
• -= --• *= /= %= .=
• Toántửso sánh:
• == ===
26
• !=, <> >, >= <, <=
• Toántửluậnlý: !And, && Or, |
6. Tham chiếu
• Tham chiếu trong PHP cho phép tạo ra hai hay
nhiều biến có cùng một nội dung.
–Vídụ:
<?php
$str1 = “laptrinhwebphp”;
$str2 = &$str1;
echo $str1; →laptrinhwebphp
echo $str2; →laptrinhwebphp
?>
7. Các hàm kiểm tra giá trị của biến
• Kiểm tra tồn tại isset()
• Kiểm tragiá trị rỗn gempty()
• Kiểm tra trị kiểu số is_numeric()
• Kiểm tra kiểu dữ liệu của biến
• Xác định kiểu của biến gettype()
8. Các cấu trúc điểu khiển (if, switch, while, for …)
Cấu trúc rẽ nhánh if
• Dạng1: if
– Cúpháp: if (điềukiện)
{
khối lệnh
}
27
• Dạng2: if … else
– Cúpháp: if(điềukiện)
{
khốilệnh1
}
else
{
khốilệnh2
}
Cấu trúc chọnlựa switch
• Dạng1: mỗi truờng hợp một cách xử lý khác nhau
Cúpháp
switch(biếnđiềukiện)
{
casegiátrị 1:
khốilệnh1
break;
casegiátrị 2:
khốilệnh2
break;
...
[default: khốilệnhkhikhôngthỏatấtcảcáccase trên]
}
Cấu trúc lặp for
• Công dụng:
–for được sử dụng khi chúng ta biết trước số lần cần
28
lặp, biến đếm chạy trong khoảng giới hạn của vòng
lặp, vàgiátrị lặp.
• Cúpháp:
for($biến_đếm= giátrị khởi đầucủavònglặpfor;
điềukiệngiớihạncủavònglặpfor; giátrị lặpcủa
vònglặpfor)
{
khốilệnh
}
<?php
$tong = 0;
for($i=1; $i<=10;$i++)
{
$tong = $tong+ $i;
}
echo $tong; →55
?>
Cấu trúc lặp foreach
• Côngdụng:
– foreach thường được dùng để duyệt tập hợp (mảng).
• Cúphápduyệtgiátrị cácphầntửtrong mảng:
foreach ($ten_mangas $gia_tri)
{
khốilệnh
}
• Cúphápduyệtcảkhóavàgiátrị cácphầntửtrongmảng:
29
foreach ($ten_mangas $tu_khoa=> $gia_tri)
{
khốilệnh
}
Cấu trúc lặp while
• Côngdụng
– Thực hiện lặp đi lặp lại một công việc nào đókhi thỏa điều kiện.
– while đuợcsửdụngkhikhôngxácđịnhđượcsốlầnlặp(sốlầnlặp
phụthuộcvàođiềukiệntạithời điểmthựcthi)
• Cúpháp
while(điềukiện)
{
khốilệnh
}
Cấu trúc lặp do …while
• Côngdụng
– Thực hiện lặp đi lặp lại một công việc nào đókhi thỏa điều kiện.
– do…while: việckiểmtrađiềukiệnsẽđượcthựchiệnsaukhithực
hiệnkhốilệnhdo { …}
• Cúpháp
do
{
khốilệnh
}
while(điềukiện);
30
9. Kết nối PHP với MySQL
Đầu tiên ta vào phpmyadmin tạo cơ sở dữ liệu, ta mở Xampp server lên, sau đó lên web truy cập với
đường dẫn http://localhost/phpmyadmin , nếu bạn chưa có Xampp Server thì bạn nên xem lại bài
hướng dẫn cài đặt và sử dụng Xampp Server mà mình đã viết, còn nếu bạn có rồi thì mình tiếp tục, các
bạn sẽ tạo database theo như hình sau:
Chọn tab là Database,đặt tên cho cơ sở dữ liệu và chọn kiểu là utf8_unicode_ci hoặc utf8_general_ci để
có thể đánh chữ và lưu bằng tiếng việt nhé.
31
Sau đó vào tab SQL, chạy đoạn script sau để tạo bảng members,gồm các thông tin sau: id, username,
password, email.
PHP và MySQL tuy cùng nằm trong 1 gói LAMP, nhưng để cho chúng liên kết được trong ứng dụng web
thì ta phải có câu lệnh để kết nối chúng lại. PHP cung cấp cho chúng ta phương thức để kết nối là
mysql_connect("server", "username", "password") với 3 tham số cơ bản là tên server,username và
password để kết nối đến server .
?
1$con = mysql_connect("localhost","root","");
32
2
3
4
5
if (!$con)
{
die('Không thể connect đến database:' . mysql_error());
}
Mặc định password trong xampp hoặc wamp khi cài đặt là rỗng. Với dòng lệnh trên nếu kết nối không
thành công thì sẽ có thông báo cho chúng ta. Kế tiếp sau khi kết nối đến database thành công thì ta sẽ
chọn 1 database cần kết nối để làm việc, ta sẽ dùng hàm mysql_select_db("ten-database","chuoi-ket-
noi") như sau:
?
1mysql_select_db("2cwebvn_demo",$con)or die ("Không chọn được database");
Cũng nên lưu ý với các bạn, các lệnh kết nối trên thường xuyên sử dụng, do đó mình khuyên các bạn nên
để vào 1 tập tin nào đó, chẳng hạn như dbconnect.php sau này cần thì chỉ việc dùng lệnh
include(dbconnect.php);
Sau khi kết nối đến database thành công thì ta có thể sử dụng nó như thế nào cũng được,bạn có thể tạo
bảng, thêm dữ liệu mới vào bảng,... Còn ở đây mình sẽ lấy dữ liệu lên và hiển thị dữ liệu ra một table,
mình làm như sau:
33
Ở trên mình sử dụng lệnh mysql_query() để lấy dữ liệu và trả về kết quả cho biến $result, sau khi có kết
quả mình dùng vòng lặp while để hiển thị kết quả. Sau khi thao tác với database xong ta nên đóng kết
nối lại cho đừng tốn tài nguyên hệ thống.
?
1mysql_close($con);
Và đoạn code cuối cùng của mình sẽ như sau:
34
Và đây là kết quả:
35
Nguồn: http://2cweb.vn/news/php-mysql/lam-quen-voi-php-mysql-ket-noi-database-trong-ung-dung-
web-12-34.html
II. Hệ Cơ Sở Dữ Liệu MySQL
1. Tổng quan MySQL
MySQL là hệ thống cơ sở dữ liệu quan hệ. Ý nghĩa cơ bản của MySQL là nó có thể lưư trữ thông
tin ở những vùng khác nhau và liên kết chúng lại với nhau. Chúng ta có thể chứa bất cứ thứ gì
trong một cơ sở dữ liệu. Ví dụ như những thông tin liên quan đến một người: chẳng hạn như first
name, last name, address, phone….
MySQL cho phép bạn tạo những thông tin riêng lẻ trên bảng hoặc những khu vực chứa thông tin
thích hợp. Trong MySQL mỗi bảng bao gồm những trường dữ liệu (field) riêng lẻ.
Nguồn: http://iloveit1208.blogspot.com/2013/01/8-php-tong-quan-ve-mysql.html
2. Bảng
a) Định nghĩa cơ sở dữ liệu, bảng, cột:
36
Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử dụng
Bảng: Là 1 bảng giá trị nằm trong cơ sở dữ liệu.
Cột là 1 giá trị nằm trong bảng. Dùng để lưu trữ các trường dữ liệu.
Thuộc tính
Ví dụ:
Như vậy ta có thể hiểu như sau:
1 cơ sở dữ liệu có thể bao gồm nhiều bảng.
1 bảng có thể bao gồm nhiều cột
1 cột có thể có hoặc không có những thuộc tính.
b) Định nghĩa 1 số thuật ngữ:
NULL : Giá trị cho phép rỗng.
AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).
37
UNSIGNED : Phải là số nguyên dương
PRIMARY KEY : Cho phép nó là khóa chính trong bảng.
c)Loại dữ liệu trong Mysql:
Ở đây chúng tả chỉ giới thiệu 1 số loại thông dụng: 1 số dữ liệu khác có thể tham khảo trên trang
chủ của mysql.
3- Những cú pháp cơ bản:
Cú pháp tạo 1 cơ sở dữ liệu:
CREATE DATABASE tên_cơ_sở_dữ_liệu;
Cú pháp sử dụng cơ sở dữ liệu: Use tên_database;
Cú pháp thoát khỏi cơ sở dữ liệu: Exit
38
Cú pháp tạo 1 bảng trong cơ sở dữ liệu:
CREATE TABLE user (<tên_cột> <mô_tả>,…,<tên_cột_n>…..<mô_tả_n>)
Ví dụ:
mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email
VARCHAR(200) NOT NULL, PRIMARY KEY (user_id));
Hiển thị có bao nhiều bảng: show tables;
Hiển thị có bao nhiêu cột trong bảng: show columns from table;
Thêm 1 cột vào bảng :
ALTER TABLE tên_bảng ADD <tên_cột> <thuộc_tính> AFTER <tên_cột>
Ví dụ:
mysql> alter table user add sex varchar(200) NOTNULL after email;
4- Thêm giá trị vào bảng:
Cú pháp:
INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng);
Ví dụ:
mysql> insert into user(username,password,email,sex,home)
values("Lanna","12345","lanna@yahoo.com","F","www.abc.com");
39
5- Truy xuất dữ liệu:
Cú pháp:
SELECT tên_cột FROM Tên_bảng;
Ví dụ:
mysql> select user_id,username from user;
6- Truy xuất dữ liệu với điều kiện:
Cú pháp:
SELECT tên_cột FROM Tên_bảng WHERE điều kiện;
Ví dụ:
mysql> select user_id,username from user where user_id=2;
7- Truy cập dữ liệu và sắp xếp theo trình tự
Cú pháp:
SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có where hoặc không)
ORDER BY Theo quy ước sắp xếp.
Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên
trên).
mysql> select user_id,username from user order by username ASC ;
40
8- Truy cập dữ liệu có giới hạn :
Cú pháp:
SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có where hoặc không)
LIMIT vị trí bắt đầu, số record muốn lấy ra
Ví dụ:
mysql> select user_id,username from user order by username ASC limit 0,10 ;
9- Cập nhật dữ liệu trong bảng:
Cú pháp:
Update tên_bảng set tên_cột=Giá trị mới
WHERE (điều kiện).
Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong
bảng.
Ví dụ:
mysql> update user set email="admin@qhonline.info" where user_id=1 ;
41
10- Xóa dữ liệu trong bảng:
Cú pháp:
DELETE FROM tên_bảng WHERE (điều kiện).
Nếu không có ràng buộc điều kiện, chúng sẽ xó toàn bộ giá trị của các record trong bảng.
Ví dụ
mysql>delete from user where user_id=1 ;
Nguồn: http://www.qhonline.info/php-can-ban/30/bai-9--Co-ban-ve-ngon-ngu-sql-va-mysql.html
42
3. Toán Tử
43
44
4. Phát biểu SQL
1) Trên cơ sở dữ liệu (database)
Các phiên bản của SQL Server: Enterprise, Personal, Desktop, Developer,..
Các bộ phận của SQL Server: Enterprise Manager, Query Analyzer, Books
Online,..
Các loại tập tin của SQL Server: data file (primary, secondary), log file
Các loại cơ sở dữ liệu của SQL Server: system database,user database
create database:tạo cơ sở dữ liệu
create database HoSoSinhVien
create database HoSoSinhVien
on (name=’HSSV_data’,filename=’c:HSSV_data.mdf’)
log on (name=’HSSV_log’, filename=’c:HSSV_log.ldf’)
drop database:xóa cơ sở dữ liệu
drop database HoSoSinhVien
alter database:sửa các thông tin của cơ sở dữ liệu
alter database HoSoSinhVien
modify name = HSSV
exec sp_dboption: sửa các thông tin của cơ sở dữ liệu
exec sp_dboption HoSoSinhVien, ‘read only’, ‘true’
exec sp_dboption HoSoSinhVien, ‘autoshrink’, ‘true’
exec sp_dboption HoSoSinhVien, ‘single_user’
dbcc: điều khiển cơ sở dữ liệu
dbcc shrinkdatabase(HoSoSinhVien, 10)
2) Trên bảng (table)
Nhớ các kiểu số liệu: text, binary, numberic, money, datetime, bit, variant
45
Nhớ các các ràng buộc: default, check,unique, foreign, primary
Nhớ các kiểu toàn vẹn: entity, domain, referential, user
Nhớ các thuộc tính bổ trợ: identity, null
create table: tạo bảng
Tạo bảng với các cột
create table SinhVien (
MaSV int,
TenSV nchar(50)
)
Tạo với các ràng buộc
create table SinhVien (
MaSV int primary key,
TenSV nvarchar(50) not null,
QueQuan int references DiaPhuong(MaDP)
)
drop table: xóa bảng
drop table SinhVien
alter table..add: thêm cột
Thêm cột bằng cách dùng lệnh alter table
alter table SinhVien
add QueQuan int
alter table..drop column: xóa cột
alter table SinhVien
drop column QueQuan
alter table..alter column: thêm thuộc tính not null
alter table SinhVien
46
alter column TenSV nchar(50) not null
alter table..add primary key: thêm khóa chính
Thêm ràng buộc khóa chính cần phải biến một cột null thành not null trước khi
thêm. Nếu để lệnh chuyển đổi thuộc tính not null ngay cạnh lệnh thêm khóa chính
thì phải chèn từ khóa go vào vì có thể lệnh trên chưa được thực hiện do đó lệnh
dưới báo lỗi
alter table SinhVien
alter column MaSV int not null
go
alter table SinhVien
add primary key (MaSV)
alter table..add foreign key: thêm ràng buộc khóa ngoài
alter table SinhVien
add foreign key (QueQuan) references DiaPhuong(MaDP)
alter table..add default: thêm ràng buộc mặc định
alter table SinhVien
add default ‘khong ten’ for TenSV
exec sp_help: xem thông tin bảng
exec sp_help SinhVien
3) Trên bản ghi (record)
Nhớ thêm phần biểu thức điều kiện
Nhớ thêm phần ký tự thay thế
insert..values: thêm các bản ghi vào bảng
insert into SinhVien (MaSV,TenSV, QueQuan)
values (1, N’Nguyễn Văn A’, 1)
insert..select: thêm các bản ghi từ bảng khác vào bảng
47
insert into DocGia
select MaSV, TenSV, QueQuan from SinhVien
insert into DocGia
select MaGV, TenGV, QueQuan from GiaoVien
select..into: đưa kết quả lựa chọn vào bảng mới
select MaSV, TenSV, Diem
into SinhVienKha
from SinhVien
where Diem > 7.0
delete: xóa các bản ghi từ bảng
delete from SinhVien
delete from SinhVien where MaSV=1234
truncate: xóa toàn bộ bản ghi của bảng
truncate table SinhVien
update: sửa các bản ghi trong bảng
update SinhVien
set NhomTruong = 1
where MaSV < 4
update SinhVien
set NhomTruong = 4
where (MaSV > 3 and MaSV < 8)
4) Truy vấn (query)
Hỗ trợ truy vấn: distinct, top, as,identity
Phép toán tập hợp: in, like, between
Các hàm tổng nhóm: sum, max, min, avg
4.1) Truy vấn đơn giản
48
select *: Hiện tất cả bảng
select *
from SinhVien
select: Hiện một số cột
select TenSV, DiemTB
from SinhVien
select..where:Hiện một số dòng / bản ghi
select TenSV, DiemTB
from SinhVien
where DiemTB > 6.0
select..order by: Hiện và sắp xếp theo điểm rồi theo tên
select TenSV, DiemTB
from SinhVien
order by DiemTB desc,TenSV asc // asc sắp sếp tăng dần, desc là giảm dần
select..distinct: Hiện danh sách giá trị không trùng lặp
select distinct QueQuan
from SinhVien
select..top: Hiện các dòng đầu tiên trong bảng
select top 3 TenSV, DiemTB
from SinhVien
order by DiemTB desc,TenSV asc
4.2) Truy vấn lồng nhau (nested query)
select..where (select)
Hiện tất cả những người trong bảng nhân viên có lương bằng lương lớn nhất của
những người có trong công ty:
select TenNV,Luong
49
from NhanVien
where Luong = (select max(Luong) from NhanVien)
select..where (in)
Hiện tất cả những người trong bảng nhân viên có lương lớn nhất hoặc lớn nhì của
những người có trong công ty:.
5. Import và export dữ liệu
50
51
52
53
Chương III: Nói Về Bài Toán Ứng Dụng
54
I. Giới Thiệu Ứng Dụng
Ứng dụng quản lý Sinh Viên phát triển dựa trên ngôn ngữ PHP và MySQL
II. Chức Năng Chính
Quản lý sinh viên, thêm, sửa,xóa thông tin sinh viên.
Quản lý lớp học, sinh viên.
Quản lý kết quả học tập, xếp loại kết quả sinh viên.
…
III. Database Diagram
IV. Giao Diện Phần Mềm
55
56
57

More Related Content

What's hot

Đồ án xây dựng Website bán hàng đồ chơi trẻ em
Đồ án xây dựng Website bán hàng đồ chơi trẻ emĐồ án xây dựng Website bán hàng đồ chơi trẻ em
Đồ án xây dựng Website bán hàng đồ chơi trẻ emnataliej4
 
Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...
Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...
Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...nataliej4
 
KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...
KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...
KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...nataliej4
 
Bao cao thuc tap
Bao cao thuc tapBao cao thuc tap
Bao cao thuc tapLeo Aurico
 
Hung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xHung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xLy hai
 
Báo Cáo Thực Tập Tốt Nghiệp Athena
Báo Cáo Thực Tập Tốt Nghiệp AthenaBáo Cáo Thực Tập Tốt Nghiệp Athena
Báo Cáo Thực Tập Tốt Nghiệp AthenaNam Tran
 
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOSNGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOSVàng Cao Thanh
 
Luận Văn NCKH : Xây dựng ứng dụng trên iPhone
Luận Văn NCKH : Xây dựng ứng dụng trên iPhoneLuận Văn NCKH : Xây dựng ứng dụng trên iPhone
Luận Văn NCKH : Xây dựng ứng dụng trên iPhoneVàng Cao Thanh
 
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008Khanh Dinh
 
đồ án thực tập cuoi ki tại athena
đồ án thực tập cuoi ki tại athenađồ án thực tập cuoi ki tại athena
đồ án thực tập cuoi ki tại athenaHuy Bach
 
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...Viết thuê trọn gói ZALO 0934573149
 
Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)The Big Deer
 
Báo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCart
Báo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCartBáo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCart
Báo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCarthoainhan1501
 
Tìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google MapTìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google Mapbaran19901990
 

What's hot (20)

Đồ án xây dựng Website bán hàng đồ chơi trẻ em
Đồ án xây dựng Website bán hàng đồ chơi trẻ emĐồ án xây dựng Website bán hàng đồ chơi trẻ em
Đồ án xây dựng Website bán hàng đồ chơi trẻ em
 
Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...
Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...
Biện pháp nâng cao hiệu quả kinh doanh dịch vụ logistics của Chi nhánh Công t...
 
KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...
KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...
KHUNG HƯỚNG DẪN LẬP ĐỀ CƯƠNG VÀ DỰ TOÁN CHI TIẾT CHO CÁC DỰ ÁN CNTT NĂM 2015 ...
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOTĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
 
Bao cao thuc tap
Bao cao thuc tapBao cao thuc tap
Bao cao thuc tap
 
Hung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xHung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.x
 
Báo Cáo Thực Tập Tốt Nghiệp Athena
Báo Cáo Thực Tập Tốt Nghiệp AthenaBáo Cáo Thực Tập Tốt Nghiệp Athena
Báo Cáo Thực Tập Tốt Nghiệp Athena
 
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOSNGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
 
Luận Văn NCKH : Xây dựng ứng dụng trên iPhone
Luận Văn NCKH : Xây dựng ứng dụng trên iPhoneLuận Văn NCKH : Xây dựng ứng dụng trên iPhone
Luận Văn NCKH : Xây dựng ứng dụng trên iPhone
 
Đề tài: Xây dựng Website cho công ty cổ phần tin học, HOT
Đề tài: Xây dựng Website cho công ty cổ phần tin học, HOTĐề tài: Xây dựng Website cho công ty cổ phần tin học, HOT
Đề tài: Xây dựng Website cho công ty cổ phần tin học, HOT
 
luan van thac si xay dung ung dung android xem truyen tranh online
luan van thac si xay dung ung dung android xem truyen tranh onlineluan van thac si xay dung ung dung android xem truyen tranh online
luan van thac si xay dung ung dung android xem truyen tranh online
 
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
 
đồ án thực tập cuoi ki tại athena
đồ án thực tập cuoi ki tại athenađồ án thực tập cuoi ki tại athena
đồ án thực tập cuoi ki tại athena
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
 
Đề tài: Phát triển Plug-in cho phép chia sẻ bài viết trên mạng xã hội
Đề tài: Phát triển Plug-in cho phép chia sẻ bài viết trên mạng xã hộiĐề tài: Phát triển Plug-in cho phép chia sẻ bài viết trên mạng xã hội
Đề tài: Phát triển Plug-in cho phép chia sẻ bài viết trên mạng xã hội
 
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
 
Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)Bao cao thuc tap co so (autosaved)
Bao cao thuc tap co so (autosaved)
 
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
 
Báo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCart
Báo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCartBáo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCart
Báo cáo thực tập tốt nghiệp Bán đồ dân dụng trức tuyến bằng OpenCart
 
Tìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google MapTìm đường đi xe buýt trong TPHCM bằng Google Map
Tìm đường đi xe buýt trong TPHCM bằng Google Map
 

Viewers also liked

Bc cuối kỳ
Bc cuối kỳBc cuối kỳ
Bc cuối kỳLIL55
 
Baocaodoanhocphan vanquocthinh_11253321_ncth5b
Baocaodoanhocphan vanquocthinh_11253321_ncth5bBaocaodoanhocphan vanquocthinh_11253321_ncth5b
Baocaodoanhocphan vanquocthinh_11253321_ncth5bquocthinh072
 
Bctt tuần
Bctt tuầnBctt tuần
Bctt tuầnLIL55
 
Bctt giưa kỳ
Bctt giưa kỳBctt giưa kỳ
Bctt giưa kỳLIL55
 
Bctt
BcttBctt
BcttLIL55
 
Bctt tuần mail
Bctt tuần  mailBctt tuần  mail
Bctt tuần mailLIL55
 
Trabajo a realizar christian parra 11°a
Trabajo a realizar christian parra 11°aTrabajo a realizar christian parra 11°a
Trabajo a realizar christian parra 11°aChristian Parra
 

Viewers also liked (8)

Bc cuối kỳ
Bc cuối kỳBc cuối kỳ
Bc cuối kỳ
 
Baocaodoanhocphan vanquocthinh_11253321_ncth5b
Baocaodoanhocphan vanquocthinh_11253321_ncth5bBaocaodoanhocphan vanquocthinh_11253321_ncth5b
Baocaodoanhocphan vanquocthinh_11253321_ncth5b
 
Bctt tuần
Bctt tuầnBctt tuần
Bctt tuần
 
Testing
TestingTesting
Testing
 
Bctt giưa kỳ
Bctt giưa kỳBctt giưa kỳ
Bctt giưa kỳ
 
Bctt
BcttBctt
Bctt
 
Bctt tuần mail
Bctt tuần  mailBctt tuần  mail
Bctt tuần mail
 
Trabajo a realizar christian parra 11°a
Trabajo a realizar christian parra 11°aTrabajo a realizar christian parra 11°a
Trabajo a realizar christian parra 11°a
 

Similar to Baocaodoanhocphan vanquocthinh_11253321_ncth5b_0904407796

Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Jazmyne Padberg
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laraveljackjohn45
 
Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429
Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429
Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429hung_nc87
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tậpwindyntt
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tậpwindyntt
 
Html và thiết kế web[bookbooming.com]
Html và thiết kế web[bookbooming.com]Html và thiết kế web[bookbooming.com]
Html và thiết kế web[bookbooming.com]bookbooming1
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tậpwindyntt
 
Tim hieu ma nguon mo phone gap va xay dung ung dung ngo quang trung
Tim hieu ma nguon mo phone gap va xay dung ung dung   ngo quang trungTim hieu ma nguon mo phone gap va xay dung ung dung   ngo quang trung
Tim hieu ma nguon mo phone gap va xay dung ung dung ngo quang trungNgo Trung
 
manguonmo_lavarel_webbanmipham.docx
manguonmo_lavarel_webbanmipham.docxmanguonmo_lavarel_webbanmipham.docx
manguonmo_lavarel_webbanmipham.docxNgnHng26
 
Đồ án trang web bán văn phòng phẩm
Đồ án trang web bán văn phòng phẩmĐồ án trang web bán văn phòng phẩm
Đồ án trang web bán văn phòng phẩmNguynMinh294
 
Php cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vnPhp cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vnDang le Nam
 
Báo cáo hoan chỉnh
Báo cáo hoan chỉnhBáo cáo hoan chỉnh
Báo cáo hoan chỉnhCuong Nguyen
 
Dương Vũ Thông - Báo cáo thực tập athena
Dương Vũ Thông - Báo cáo thực tập athenaDương Vũ Thông - Báo cáo thực tập athena
Dương Vũ Thông - Báo cáo thực tập athenaVũ Thông Dương
 

Similar to Baocaodoanhocphan vanquocthinh_11253321_ncth5b_0904407796 (20)

CMS dotnetnuke
CMS dotnetnukeCMS dotnetnuke
CMS dotnetnuke
 
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
 
Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429
Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429
Vuihoc24 h.vn baocao-xay_dung_web_ban_hang_joomla_4429
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tập
 
Đề tài: Website giới thiệu sản phẩm cho shop thời trang Daisy
Đề tài: Website giới thiệu sản phẩm cho shop thời trang DaisyĐề tài: Website giới thiệu sản phẩm cho shop thời trang Daisy
Đề tài: Website giới thiệu sản phẩm cho shop thời trang Daisy
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tập
 
luan van thac si xay dung he thong quan ly van ban
luan van thac si xay dung he thong quan ly van banluan van thac si xay dung he thong quan ly van ban
luan van thac si xay dung he thong quan ly van ban
 
Html và thiết kế web[bookbooming.com]
Html và thiết kế web[bookbooming.com]Html và thiết kế web[bookbooming.com]
Html và thiết kế web[bookbooming.com]
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tập
 
Tim hieu ma nguon mo phone gap va xay dung ung dung ngo quang trung
Tim hieu ma nguon mo phone gap va xay dung ung dung   ngo quang trungTim hieu ma nguon mo phone gap va xay dung ung dung   ngo quang trung
Tim hieu ma nguon mo phone gap va xay dung ung dung ngo quang trung
 
manguonmo_lavarel_webbanmipham.docx
manguonmo_lavarel_webbanmipham.docxmanguonmo_lavarel_webbanmipham.docx
manguonmo_lavarel_webbanmipham.docx
 
Đồ án trang web bán văn phòng phẩm
Đồ án trang web bán văn phòng phẩmĐồ án trang web bán văn phòng phẩm
Đồ án trang web bán văn phòng phẩm
 
Php cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vnPhp cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vn
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAYĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
 
Luận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOT
Luận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOTLuận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOT
Luận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOT
 
Báo cáo hoan chỉnh
Báo cáo hoan chỉnhBáo cáo hoan chỉnh
Báo cáo hoan chỉnh
 
Đề tài: Quản lí kho, HAY
Đề tài: Quản lí kho, HAYĐề tài: Quản lí kho, HAY
Đề tài: Quản lí kho, HAY
 
Dương Vũ Thông - Báo cáo thực tập athena
Dương Vũ Thông - Báo cáo thực tập athenaDương Vũ Thông - Báo cáo thực tập athena
Dương Vũ Thông - Báo cáo thực tập athena
 

Recently uploaded

SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx22146042
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )lamdapoet123
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 

Recently uploaded (20)

SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 

Baocaodoanhocphan vanquocthinh_11253321_ncth5b_0904407796

  • 1. Trường Đại Học Công Nghiệp TP. Hồ Chí Minh ===o0o=== Đồ Án Học Phần I Đề Tài: Viết Ứng Dụng Trên Ngôn Ngữ PHP & My SQL Giáo Viên Hướng Dẫn: Nguyễn Văn Thắng Sinh Viên Thực Hiện: Văn Quốc Thịnh _ 11253321 _ NCTH5B
  • 2. 2 Mục Lục Mở Đầu............................................................................................................................................ 4 Chương I: Tổng Quan Về Web Và Những Ngôn Ngữ Hỗ Trợ Viết Web.......................................... 5 I. Tổng Quan Về Web..................................................................................................................5 1. Web là gì.............................................................................................................................5 2. Web có mấy loại..................................................................................................................5 3. Cấu tạo của 1 trang Web.......................................................................................................6 4. Cấu trúc cơ bản của trang web.............................................................................................6 5. Mô hình hoạt của website.....................................................................................................8 II. NhữngNgôn Ngữ Hỗ Trợ Viết Web...........................................................................................8 1. Tổng quan về ASP ................................................................................................................8 2. Tổng quan về PHP..............................................................................................................12 3. Tổng quan về CGI...............................................................................................................14 4. Tổng quan về Perl..............................................................................................................14 5. Tổng quan về JSP...............................................................................................................15 6. Tổng quan về ColdFusion....................................................................................................16 7. Tổng quan về Tcl hay Tcl/Tk (Tool Command Language/Toolkit) ...........................................16 8. Tổng quan về Python.........................................................................................................17 Chương II: Nói Về Ngôn Ngữ PHP Và MySQL............................................................................. 17 I. Ngôn Ngữ PHP.......................................................................................................................17 1. Các khái niệm cơ bản.........................................................................................................17 2. Các đặc điểm của ngôn ngữ PHP ........................................................................................20 3. Biến và Hằng.....................................................................................................................21 4. Kiểu Dữ Liệu.....................................................................................................................25 5. Các toán tử........................................................................................................................25 6. Tham chiếu .......................................................................................................................26 7. Các hàm kiểm tra giá trị của biến ........................................................................................26 8. Các cấu trúc điểu khiển (if, switch, while, for …).................................................................26 9. Kết nối PHP với MySQL....................................................................................................30 II. Hệ Cơ Sở Dữ Liệu MySQL.......................................................................................................35 1. Tổng quan MySQL ............................................................................................................35 2. Bảng.................................................................................................................................35
  • 3. 3 3. Toán Tử............................................................................................................................42 4. Phát biểu SQL...................................................................................................................44 5. Import và export dữ liệu .....................................................................................................49 Chương III: Nói Về Bài Toán Ứng Dụng ....................................................................................... 53 I. Giới Thiệu Ứng Dụng..............................................................................................................54 II. Chức Năng Chính...................................................................................................................54 III. Database Diagram..............................................................................................................54 IV. Giao Diện Phần Mềm.........................................................................................................54
  • 4. 4 Mở Đầu Văn Quốc Thịnh _ 11253321 _ NCTH5B Em xin chân thành cảm ơn thầy Nguyễn Văn Thắng đã tận tình giúp đỡ em hoàn thành đồ án này. Do kiến thức còn hạn chế nên bài này còn nhiều thiếu xót, em mong nhận được nhiều ý kiến và đánh giá của thầy Văn Quốc Thịnh
  • 5. 5 Chương I: Tổng Quan Về Web Và Những Ngôn Ngữ Hỗ Trợ Viết Web I. Tổng Quan Về Web 1. Web là gì Website là tập hợp của rất nhiều trang web - một loại siêu văn bản (tập tin dạng HTML hoặc XHTML) trình bày thông tin trên mạng Internet- tại một địa chỉ nhất định để người xem có thể truy cập vào xem. Trang web đầu tiên người xem truy cập từ tên miền thường được gọi là trang chủ (homepage), người xem có thể xem các trang khác thông qua các siêu liên kết (hyperlinks) Đặc điểm tiện lợi của website: thông tin dễ dàng cập nhật, thay đổi, khách hàng có thể xem thông tin ngay tức khắc, ở bất kỳ nơi nào, tiết kiệm chi phí in ấn, gửi bưu điện, fax, thông tin không giới hạn (muốn đăng bao nhiêu thông tin cũng được,không giới hạn số lượng thông tin, hình ảnh...) và không giới hạn phạm vi khu vực sử dụng (toàn thế giới có thể truy cập). Một website thông thường được chia làm 2 phần: giao diện người dùng (front-end) và các chương trình được lập trình để website hoạt động (back-end). Giao diện người dùng là định dạng trang web được trình bày trên màn hình của máy tính của người xem (máy khách) được xem bằng các phần mềm trình duyệt web như Internet Explorer, Firefox,... Tuy nhiên ngày nay người xem có thể xem website từ các thiết bị điện tử khác như điện thoại di động, PDA,...Việc trình bày một website phải đảm bảo các yếu tố về thẩm mỹ đẹp, ấn tượng; bố cục đơn giản, dễ hiểu và dễ sử dụng, các chức năng tiện lợi cho người xem. Đặc biệt ngày nay, website trở nên sống động với những hiệu ứng đa dạng của hình ảnh và chữ kết hợp với âm thanh. Nguồn: http://www.v3s.vn/1/84/-website-la-gi 2. Web có mấy loại Thông thường, website được chia thành 2 loại: - Website tĩnh: là website không có Cơ Sở Dữ Liệu mà chỉ là các trang web do người thiết kế tạo thành bằng các phần mềm tạo trang website. Website này thích hợp cho những nội dung trình bày phức tạp, đòi hỏi cao về đồ họa và ít thay đổi về nội dung vì việc cập nhật website này phải do những người có chuyên môn thực hiện và khá tốn công. - Website động: là website có Cơ Sở Dữ Liệu do các công ty thiết kế chuyên nghiệp xây dựng và sẽ bàn giao công cụ quản lý, cập nhật website cho khách hàng. Việc cập nhật website rất đơn giản và tiện lợi. Thông tin trên website thường xuyên được cập nhật và không giới hạn lượng thông tin. Nguồn: http://www.vecvn.com/faq/co-may-loai-website--.aspx
  • 6. 6 3. Cấu tạo của 1 trang Web Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3 phần:  <!Doctype>:Phần khai báochuẩn của html hay xhtml.  <head></head>:Phầnkhai báo ban đầu,khai báovề meta,title,css,javascript…  <body></body>:Phầnchứa nội dung của trang web,nơi hiểnthị nội dung. Cấu trúc cơ bản <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Tiêu đề trang web</title> </head> <body> ...Phần thân viết ở đây... </body> </html> 4. Cấutrúc cơ bản của trangweb Mỗi trang web đều có cách thể hiện cấu trúc khác nhau, có trang 1 cột, có trang 2 và cũng có trang chứa nhiều cột, bên dưới đây chúng ta tham khảo một trang đơn giản sử dụng 2 cột để layout.  Phần đầu: header,có thể chứa logo, câu slogan, các liên kết, các banner liên kết, các button, đoạn flash, hoặc các form ngắn như form tìm kiếm,...  Phần liên kết toàn cục: global navigation, dùng để chứa các liên kết đến những trang quan trọng trong toàn bộ trang, trong phần này có thể chứa thêm các liên kết con (sub navigation).  Phần thân của trang: page body, phần này chứa phần nội dung chính (content) và phần nội dung phụ (sidebar).  Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiện cho người dùng xem.  Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng trang (local navigation), hoặc các banner chứa liên kết liên quan, hoặc có thể dùng để chứa các liên kết quảng cáo,...  Phần cuối trang web: footer, phần này thường chứa phần liên hệ như: tên công ty, địa chỉ, số điện thoại, mail liên hệ,... và đặc biệt là copyright, hoặc có thể chứa các liên kết toàn trang, các banner liên kết,...
  • 8. 8 5. Mô hình hoạt của website Nguồn: http://www.pcworld.com.vn/pcworld/info/misc/2007/7/A0707_UD_138b.jpg II. Những Ngôn Ngữ Hỗ Trợ Viết Web 1. Tổngquanvề ASP Giới thiệu về Asp.net Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript. Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài. Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code. Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện. Quá trình xử lý Postback khó khăn, … Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, không những không cần đòi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web.
  • 9. 9 ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft .Net Framework. Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn hình. ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client. Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở phía server. Ưu điểm của Asp.net - ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,… - Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP. ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, … ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng. ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng -> Dễ đọc, dễ quản lý và bảo trì. Kiến trúc lập trình giống ứng dụng trên Windows. Hỗ trợ quản lý trạng thái của các control Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser Hỗ trợ nhiều cơ chế cache. Triển khai cài đặt
  • 10. 10 Không cần lock, không cần đăng ký DLL Cho phép nhiều hình thức cấu hình ứng dụng Hỗ trợ quản lý ứng dụng ở mức toàn cục Global.aspx có nhiều sự kiện hơn Quản lý session trên nhiều Server, không cần Cookies ASP.NET là một mô hình thiết kế website thống nhất bao gồm cách dịch vụ cần thiết để xây dựng các ứng dụng website doanh nghiệp lớn. ASP.NET là một phần của NET Framework. Ở chủ đề này chúng tôi sẽ mô tả các tính năng của ASP.NET và Visual Web Developer, môi trường phát triển tạo ra các ứng dụng ASP.NET. Visual Web Developer: Visual Web Developer là một môi trường phát triển đầy đủ tính năng để tạo ra các ứng dụng website ASP.NET. Các tính năng: bố trí trang web phù hợp với các trang tổng thể và sự xuất hiện trang phù hợp với các chủ đề. Chỉnh sửa mã : trình biên tập cho phép bạn viết mã cho các website động trong Visual Basic hoặc C#. Kiểm tra và gỡ rối : Máy chủ web thử nghiệm và gỡ rối giúp bạn tìm thấy lỗi trong chương trình. Triển khai : Công cụ tự động hóa các nhiệm vụ cho việc triển khai một ứng dụng web đến một máy chủ lưu trữ hoặc nhà cung câp lưu trữ. Các website dự án và ứng dụng với ASP.NET Sử dụng Visual 2010, bạn có thể tạo ra các dự án khác nhau với ASP.NET, bao gồm các trang web, các ứng dụng web,các dịch vụ web, và điều khiển máy chủ AJAX. Có một sự khác biệt giữa các dự án website và các dự án ứng dụng website. Một số tính năng chỉ làm việc với các dự án ứng dụng web như công cụ MVC và một số đẻ tự động hóa việc triển khai web. Các tính năng khác như đồng bộ hóa dữ liệu, làm việc với trang web và các dự án ứng dụng web. ASP.NET API Reference Cung cấp một lượng lớn các thư viện dung cho ASP.NET.
  • 11. 11 Trang web và các điều khiển. Trang ASP.NET và điều khiển là một chương trình chạy trên máy chủ tự động đưa ra các trang ASP.NET. Các trang ASP.NET có thể được yêu cầu từ bất kỳ trình duyệt nào hoặc các thiết bị của khách hàng. Theo quy định bạn có thể sử dụng cùng một website cho nhiều trình duyệt.ASP.NET là công cụ thiết kế website hoàn toàn hướng đối tượng. Nó cũng cho phép đóng gói các chức năng giao diện người dung thông thường dễ sử dụng,kiểm soát để có thể tái sử dụng. Ngoài ra các chủ đề cũng giúp bạn xác định trang chủ để tạo ra và bố trí phù hợp cho các website trong ứng dụng của bạn. Khung trang ASP.NET cũng cho phép bạn xác định mô hình các URL sẽ được sử dụng trong website của bạn. Điều này giúp tối ưu hóa công cụ tìm kiếm và làm cho các URL thân thiện với người sử dụng. Biên dịch ASP.NET ASP.NET biên dịch, cho phép tối ưu hóa hiệu xuất,tối ưu hóa ràng buộc và những lợi ích khác. Một khi mã đã được biên dịch, thời gian chạy sẽ được cải thiện. Bảo Mật Ngoài các tính năng bảo mật cung cấp một sơ sở bảo mất tiên tiến để chứng thực và cho phép người dung truy cập vào các nhiệm vụ liên quan đến an ninh.Bạn có thể xác thực bằng cách sử dụng window xác thực được cung cấp bởi IIS hoặc quản lý xác thực bằng cơ sở dữ liệu người dùng riêng. Cấu hình ASP.NET ASP.NET sử dụng một cấu hình hệ thống cho phép bạn xác định và thiết lập cấu hình cho máy chủ web của bạn. ASP.NET thiết lập cấu hình được lưu trữ trong các tập tin XML. Hỗ trợ gỡ lỗi ASP.NET có lợi thế gỡ lỗi trong thời gian chạy để cung cấp quá ngôn ngữ và hỗ trợ gỡ lỗi qua máy tính. Bạn có thể gỡ lỗi cả hai đối tượng quản lý và không được quản lý. Web Service Framework ASP.NET hỗ trợ các dịch vụ web XML cho phép ứng dụng trao đổi thông tin qua bức tường lửa bằng cách sử dụng các tiêu chuẩn như HTTP và XML. Bất cứ ngôn ngữ lập trình web nào cũng có thể trao đổi thông tin và truy cập các dịch vụ web XML. Ứng dụng web dựa trên mô hình MVC ASP.NET MVC giúp các nhà phát triển web xây dựng ứng dụng dựa trên tiêu chuẩn được dễ dàng duy trì bởi nó giảm sự phụ thuộc vào các class.
  • 12. 12 ASP.NET sử dụng dữ liệu động ASP.NET sử dụng dữ liệu động cho phép bạn tạo ra các ứng dụng web hướng dữ liệu một cách dễ dàng.Bạn sẽ tìm thấy rằng bạn có thể nhận được các ứng dụng chạy dễ dàng hơn và với ít mã hơn so với trước đây. Đồng thời bạn có thể thêm các tính năng tùy chỉnh để các dữ liệu ASP.NET động để thích ứng với yêu cầu riêng của bạn. Ở phần đầu tiên này bạn tạo được tiền đề cho việc học các hướng dẫn thiết kế website của chúng tôi. Ở phần tiếp theo chúng tôi sẽ giới thiệu chi tiết hơn về ASP.NET. Nguồn: http://www.ancoti.com/tong-quan-ve-aspnet.html 2. Tổngquanvề PHP PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Thẻ <?php và thẻ ?> sẽ đánh đấu sựbắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP. Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu được xem nhưlà một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là ‘Personal Home Page Tools’. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. PHP/FI, viết tắt từ “Personal Home Page/Forms Interpreter”, bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng.Cú pháp này giống nhưcủa Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán. Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người. PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
  • 13. 13 PHP 3 PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 nhưlà phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau,các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác. Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là ‘PHP’, một kiểu viết tắt hồi quy của “PHP: Hypertext Preprocessor”. Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm. PHP 4 Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả. Một động cơ mới, có tên ‘Zend Engine’ (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công,và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung,đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sựhỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP. PHP 5 Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhómphát triển PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn
  • 14. 14 Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams. 3. Tổngquanvề CGI Ngôn ngữ kịch bản chạy trên môi trường máy chủ nói chung có thể phân thành hai loại cơ bản: Com mon Gateway Interface (CGI, chương trình trả về mã HTML) và ngôn ngữ đánh dấu nhúng trong trang HTML. Những thế hệ máy chủ web (web server hay HTTP server) đầu tiên không tích hợp sẵn mô đun xử lý tạo nội dung động mà dùng các giao tiếp (interface) để gọi các chương trình khác bên ngoài xử lý yêu cầu tạo nội dung động lúc thực thi. Chuẩn giao tiếp đầu tiên được dùng để tạo nội dung web động là CGI. CGI không phải là một ngô n ngữ cụ thể mà là giao thức liên lạc giữa máy chủ web và một chương trình ứng dụng bên ngoài. Nhiều người thường gắn liền CGI với Perl do phần lớn kịch bản CGI thường được viết bằng ngôn ngữ này, nhưng nói chung CGI có thể viết bằng bất kỳ ngôn ngữnào để được gọi như một chương trình chạy độc lập từ web server, chẳng hạn như Python, Tcl, C/C + + và cả Java. Phương pháp CGI có những hạn chế về hiệu suất. Chương trình CGI chạy bên ngoài web server và mỗi khi có yêu cầu một trang web động thì đều phải khởi tạo tiến trình mới. Việc khởi tạo các tiến trình mới làm hao tốn tài nguyên hệ thống và chậm tốc độ đáp ứng. Để giải quyết hạn chế của CGI, các phần mềm máy chủ web thế hệ sau tích hợp sẵn khả năng xử lý tạo nội dung web động.Cũng có nhiều mô đun bổ sung cung cấp các hàm API tương tác trực tiếp với web server. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ 4. Tổngquanvề Perl Perl (Practical Extraction and Report Language) là ngôn ngữ kịch bản mã nguồn mở có cú pháp tương tự như C. Perl chạy ở chế độ nền phía server tạo nội dung web theo cách thức ẩn đối với người xem. Năm 1987, lrry Wall xây dựng và phát triển Perl như là phiên bản cải tiến của awk với mục đích thực hiện tự động một số tác vụ quản trị h ệ thống Unix (awk là một chương trình xử lý văn bản của Unix) . Sau đó Perl được phát triền dần và phổ biến với nhiều dạng ửng dụng.Perl có tính đối tượng, nhờ vậy việc bổ sung thư viện mới rất dễ dàng.Nó thích hợp cho cả ứng dụng web phức tạp lẫn các tác vụ xử lý dữ liệu đơn giản.
  • 15. 15 Đã có thời tất cả những việc tạo trang web động có lập trình đều dùng Perl, trước khi có những công nghệ khác như ASP, JSP, PHP... và hiện Perl vẫn là một trong những ngôn ngữ được dùng phổ biến nhất để viết các ứng dụng web. Hầu hết các máy chủ web hiện nay đều hỗ trợ Perl. Apache có hỗ trợ miễn phí tích hợp trình dịch Perl mod -perl. Điều này không chỉ giúp tăng tốc mã lệnh Perl mà còn cải thiện hiệu suất nhờ mod-perl lưu lại các mã lệnh biên dịch trong bộ nhớ. Mod_perl kết hợp với một số công nghệ khác cho phép xây dựng các website cao cấp, nổi bật nhất là hai công nghệ HTML::Embperl và HTML::Mason. Cá c giải pháp thương mại của Activestate và Binary Evolution cũng giúp tăng tốc Perl theo cách thức tương tự như mod-perl. PerlEx của ActiveState tăng tốc chương trình CGI/PERL cho IIS trong khi sản phẩm của Binary Evolution dùng cho Netscape,Apache, và IIS trên cả nền Windows và Unix. Có rất nhiều tài liệu trên Net về Perl cũng như nhiều thư viện chương trình tiện ích miễn phí. Bạn có thể tìm thấy những mô đun viết sẵn ở website CPAN (Comprehensive Perl Archive Network - www.cpan.org). Ngôn ngữ Perl hiện đang phát triển đi xa hơn thiết kế ban đầu của nó. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ 5. Tổngquanvề JSP Java Server Pages (JSP) là sự mở rộng của công nghệ JavaServlet, một thành phần trong chuẩn J2EE của Sun. Với JavaServlet, bạn phải xử lý đầu vào HTTP và đầu ra HTML trong lớp Java, bạn cần có kiến thức lập trình để xây dựng các ứng dụng phức tạp. Với JSP bạn có thể tách riêng lớp hiển thị HTML ra khỏi lớp Java xử lý nghiệp vụ phức tạp. Điều này có nghĩa là người phát triển có kinh nghiệm ngôn ngữ kịch bản, hay thậm chí người t hiết kế web có thể viết mã lệnh hiển thị đơn giản, trong khi người phát triển có kiến thức về Java tập trung viết JavaServlet hay JavaBean đề giải quyết nghiệp vụ phức tạp. Tương tự ASP, JSP cũng thực hiện phép trộn nội dung HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động. JSP dùng ngôn ngữ kịch bản mặc định là Java; tuy nhiên theo đặc tả kỹ thuật thì cũng có thể dùng các ngôn ngữ khác. JSP có ưu điểm so với ASP là sau lần thực thi đầu tiên thì mã biên dịch (Servlet) của trang JSP được lưu lại trong bộ nhớ của máy chủ web và sẵn sàng đáp ứng cho các yêu cầu truy cập sau đó (trang ASP/VBSCRIPT hay Asp/jscript phải được dịch lại với mỗi yêu cầu). Lợi thế của JSP là sử dụng được toàn bộ sức mạnh của ngôn ngữ Java với các tính năng khả chuyển,chạy được trên nhiều nền tảng hệ thống và máy chủ web, mã lệnh hướng đối tượng, bảo mật an toàn... Hiện chưa có nhiều dịch vụ đặt web hỗ trợ JSP. Tuy Java miễn phí nhưng các công cụ phát triển Java và phần mềm máy chủ Java khá đắt. Các công cụ phát triển trang JSP tốt là Borland Jbuilder, IBM WebSphere Studio. Một số phần mềm máy chủ Java hỗ trợ JSP miễn phí như Tomcat, JONAS. Server-side JavaScript (SSJS) là sựmở rộng của JavaScript, ngôn ngữ kịch bản phổ biến chạy ở trình duyệt máy khách có cú pháp giống như C, mặc dù có tên gọi tương tự nhưng nó không phải là Java. SSJS có các tính năng tích hợp hỗ trợ cơ sở dữ liệu và email, quản lý phiên làm việc và khả năng liên tác với các lớp Java dùng công nghệ Livewire của Netscape. SSJS chỉ chạy trên máy chủ web Netscape. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/
  • 16. 16 6. Tổngquanvề ColdFusion Đây là ngôn ngữkịch bản do hãng Allaire phát triể n, hiện đã được Macromedia mua lại. Coldfusion được thiết kế ngay từ đầu chuyên dành cho nền tảng ứng dụng web, nó không bị ràng buộc bởi các mô hình công nghệ trước đây trong việc tìm giải pháp thích hợp cho những vấn đề mà các nhà phát triển web gặp phải. CFML (Cold Fusion Markup Language) là ngôn ngữ rất mạnh và dễ học, dùng tập thẻ lệnh tương tự như thẻ lệnh HTML. Một điểm đặc biệt là mỗi trang Colfusion có thể dùng như một thẻ lệnh: ví dụ bạn có file list.cfm thì một trang khác có thể dùng nó như thẻ Coldfusion cũng có tập hàm API mạnh và có một số chức năng hay như mảng, cấu trúc, xử lý lỗi... Công cụ phát triển Coldfusion Studio là một trong những công cụ phát triến tốt nhất.Công cụ thiết kế web Macromedia Dreamweaver hỗ trợ tạo tự động mã lệnh CFML và cả JSP. Phần mềm máy chủ Coldfusion không miễn phí, do vậy tăng phí dịch vụ web. Các ngôn ngữ như ASP, Coldfusion, JSP và PHP được quan tâm rất nhiều, nhưng các ngôn ngữ giới thiệu dưới đây cũng được dùng để phát triển một số ứng dụng chuyên biệt và được dùng cho số lượng không nhỏ website. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ 7. Tổngquanvề Tcl hayTcl/Tk(Tool CommandLanguage/Toolkit) Theo John Ousterhout,cha đẻ của ngôn ngữ Tcl, thoạt đầu nó được tạo như là ngôn ngữ lệnh kết nối các chương trình ứng dụng đánh giá sinh viên ở đại học Berkerley. Tcl không được thiết kế để xây dựng các chương trình tính toán lớn và phức tạp. Chương trình Tcl - được gọi là script - thực hiện phân luồng dữ liệu từ một chương trình này đến chương trình khác. Các chương trình lớn và chạy nhanh thực hiện phần công việc nặng nhọc, chương trình Tcl gắn các chương trình lớn này lại với nhau.Tcl là ngôn ngữ hướng đối tượng. Điểm mạnh nhất của Tcl là khả năng điều khiển, liên kết các thiết bị hay chương trình ứng dụng.Hai đặc tính chủ chốt của ngôn ngữ: khả năng nhúng và mở rộng. Phương tiện mở rộng mà Tcl cung cấp (giao diện lập trình) có thể dùng để tạo các tính năng mới trong ngôn ngữ bằng chương trình C, C++ hay Java. Rất nhiều mô đun mở rộng cho Tcl được viết và cung cấp miễn phí trên internet, công cụ GUI hỗ trợ thiết kế giao diện Toolkit (Tk) là một ví dụ điển hình. Các ngôn ngữ khác như Perl, Python cũng dùng Tk. Một điểm mạnh khác của Tcl là khả năng kiểm soát văn bản nhập vào chính khả năng này làm cho Tcl được dùng phổ biến để tạo các trang và hình ảnh lúc thực thi trên web. Với khả năng này, có thể Tcl càng phổ biến hơn trong tương lai nhờ XML (Extensible Markup Language), ngôn ngữ cho phép thể hiện dữ liệu dưới dạng văn bản. Công cụ miễn phí Tclpro của Scriptics cung cấp môi trường phát triển Tcl. Một số mô đun miễn phí tích hợp Tcl với Apache như mod_tcl, Neowebscript. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/
  • 17. 17 8. Tổngquanvề Python Được phát triển từ năm 1990, Python là ngôn ngữ có tính đối tượng cao, khả chuyển,cú pháp đơn giản và mã nguồn mở. Python có thể mở rộng về mặt hệ thống bằng cách bổ sung thêm mô đun mới viết bằng ngôn ngữ biên dịch như C hay C++. Mô đun bổ sung có thể định nghĩa hàm mới và biến mới cũng như các kiểu đối tượng mới. Python đặc biệt thích hợp cho lập trình tính toán khoa học. Python chưa phổ biến như PHP, ASP hay Perl, và hiện phần lớn dịch vụ web chưa hỗ trợ ngôn ngữ này. Apache có mô đun miễn phí mod-python hỗ trợ Python.Một chọn lựa khác là Zope - máy chủ ứng dụng Python có mã nguồn mở của Digital Creations. Nguồn: http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2005/06/1184927/ngon-ngu- lap-trinh-web/ Chương II: Nói Về Ngôn Ngữ PHP Và MySQL I. Ngôn Ngữ PHP 1. Cáckhái niệmcơ bản A. HTML (Hypertext Markup Language) HTML (hay Hypertext Markup Language-Ngôn ngữ liên kết siêu văn bản) là ngôn ngữ đánh dấu chuẩn dùng lập trình các tài liệu World Wide Web, tài liệu là các tập tin văn bản đơn giản. Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ cho các trình duyệt(Web browsers) cách hiển thị các thành phần của trang như text và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn phím và nhắp chuột. Hầu hết các Web browser, đặc biệt là Microsoft Internet Explorer và Netscape Navigator, nhận biết các tag của HTML vượt xa những chuẩn HTML đặt ra. Microsoft FrontPage chỉ dùng để đọc và viết các tập tin HTML mà không hiểu ngôn ngữ HTML yêu cầu phải làm gì. Nguồn: http://thegioiweb.vn/Story/vn/Html_Css/thamkhaoHtml_Css/2008/5/4542.html B. Web Programming Language Web Programming Language (Ngôn ngữ lập trình web): ngôn ngữ viết theo phong cách lập trình (khác so với HTML ngôn ngữ đánh dấu) để hổ trợ và tăng cường các khả năng của web. Cho phép điều khiển các phần tử của trang web dễ dàng hơn.
  • 18. 18 Chúng ta có một số ngôn ngữ lấp trình web như: ASP,ASP.NET,PHP,JSP C. Web Server Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp,*.aspx...; Apache dành cho *.php...; Sun Java System Web Server của SUN dành cho *p... Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia) Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác. Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://www.abc.com sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com. Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn. Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet. Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn. Giống như những phần mềm khác mà bạn đã từng càiđặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm. Nó được càiđặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet,Intranet). Web Server Software còn có thể được tích hợp với CSDL (Database),hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng. Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server và máy tính truy cập. Nguồn: http://www.citd.edu.vn/Vietnam/Home/index.php/quantrimang/dch-v-mng/195-web-server-la-gi- ?lang=
  • 19. 19 D. Database Server Một dịch vụ cơ sở dữ liệu là một ứng dụng cơ bản trên mô hình kiến trúc máy chủ / máy khách. Ứng dụng được chia làm hai phần : một phần chạy trên một máy khách(nơi mà người sử dụng tích luỹ và hiển thị thông tin cơ sở dữ liệu) và phần còn lại chạy trên máy chủ cơ sở dữ liệu, nơi có nhiệm vụ kết nối, xử lý và lưu trữ dữ liệu. - Máy chủ cơ sở dữ liệu – Database Server (máy chủ phục vụ Cơ sở dữ liệu) là Máy tính chủ mà trên đó có cài đặt phần mềm Hệ quản trị Cơ sở dữ liệu (HQTCSDL). Chúng ta có một số HQTCSDL chẳng hạn như: SQL Server, MySQL, Oracle… - Một máy chủ cơ sở dữ liệu là một chương trình máy tính cung cấp các dịch vụ cơ sở dữ liệu cho các chương trình máy tính hoặc máy tính khác, như được định nghĩa bởi mô hình client-server. Thuật ngữ cũng có thể tham khảo với một máy tính dành riêng để chạy một chương trình như vậy. Hệ thống quản lý cơ sở dữ liệu thường xuyên cung cấp chức năng máy chủ cơ sở dữ liệu, và một số DBMSs (ví dụ, MySQL) hoàn toàn dựa trên mô hình client-server để truy cập cơ sở dữ liệu. Nguồn: http://vdo.vn/ung-dung-may-chu-co-so-du-lieu-database-server E. Web Browser Một web browser là một phần mềm ứng dụng để truy xuất, trình diễn và chuyển các nguồn thông tin (information resource) trên mạng hệ thống mạng toàn cầu (World Wide Web). Một nguồn thông tin được nhận dạng bởi một Uniform Resource Identifier (URI) và có thể là một trang web, phim - video, hình ảnh (images) hoặc các mẫu thông tin khác. Mặc dù các trình duyệt với mục đích là để truy cập vào hệ thống mạng toàn cầu,các trình duyệt còn được sử dụng để truy cập các thông tin được cung cấp bởi các web servers (máy chủ web) trong hệ thống mạng riêng hoặc các tài liệu (files) đến các hệ thống file (file system). Hoặc cũng được dùng để tiết kiệm tài nguyên thông tin cho các hệ thống lưu trữ file. Nguồn: http://esvn.com.vn/108/Kien-thuc-web/Web-browser---trinh-duyet-web-la-gi.html F. URL (Uniform Resource Locator) URL (Uniform Resource Locator) là địa chỉ của 1 tài nguyên trên Internet. Nó có thể là 1 website, 1 trang web, 1 hình ảnh,… Nó có cấu trúc phân cấp giống như folder và file trên máy tính. Nguồn: http://inet.edu.vn/tin-tuc/2993/url-la-gi.html G. HTTP (Hypertext Transfer Protocol)
  • 20. 20 HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị. người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước mình. Đây chính là một hạn chế, khiếm khuyết của HTTP. Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà người dùng nạp vào. Và sự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java,JavaScript và cookies. Nguồn: http://tin01brvt.forumvi.com/t70-http-la-gi 2. Các đặc điểm của ngôn ngữ PHP –PHP đượcchạytrênhệthốngchủ(Server) –PHP rấtđơngiản –Tốcđộxửlý nhanh, dễsửdụng –Luônđượccảitiếnvàcậpnhật(mãnguồnmở) –Cónhiềuhướngdẫnsửdụngtrên mạng –Hoàn toàn miễn phí –PHP cóthểthực thitrên bất cứhệ điều hành (Operator System) nào, chỉ cần cómột HTML Browser thích ứng là được. –PHP không chỉ làm việc với HTML mà còn cóthểlàm việc được với hình ảnh, PDF, Flash movie,… –PHP cóthểdễdàngnốikếtvớicáccơsởdữliệunhưmySQL,
  • 21. 21 mSQL, FrontBase, dBase,Solid, ODBC,Oracle,FilePro… Nguồn: 3. Biến và Hằng 1. Hằng và biến Nếu các bạn chưa từng học lập trình, chắc các bạn đang còn xa lạ với hằng và biến. OK, No Star where - Giống như trong toán học, một hằng số xác định một giá trị duy nhất thông qua tên của hằng số, trong Tin học cũng vậy. Môt hằng số xác định một giá trị duy nhất trong toàn bộ chương trình. Người ta có thể sử dụng giá trị này thông qua tên của hằng số đó trong chương trình - Tương tự đối với biến. Một biến trong lập trình được sử dụng để lưu trữ một giá trị nào đó thông qua tên biến. Sở dĩ người ta gọi nó là biến, vì không như hằng số (giữ nguyên giá trị trong toàn bộ quá trình chạy chương trình), người ta có thể thay đổi giá trị của biến số thông qua các phép gán. Để tạo điều kiện dễ dàng trong quá trình phân tích dữ liệu, PHP quy định bất kỳ từ nào có dấu $ ở trước đều là tên của biến. Ví dụ: $ten xác định một biến có tên là ten $custome_name: xác định một biến có tên là $custome_name Bạn cần biết rằng tên biến là một chuỗi các ký tự chỉ bao gồm các chữ số, chữ cái (a..z) và dấu gạch dưới ( _ ). Và PHP quy định phân biệt các biến chữ hoa và chữ thường là khác nhau. CHẳng hạn $ab và $Ab là 2 biến hoàn toàn khác nhau. Một điểm cần lưu ý khác là không được đặt tên biến bắt đầu bằng các chữ số (0.. 9) Do quy định các chuỗi ký tự có chứa dấu $ ở trước là một tên biến, nên PHP tự động khởi gán giá trị của các biến này là rỗng (đối với kiểu dữ liệu văn bản) hoặc 0 đối với kiểu dữ liệu số. Bạn sẽ được biết đến các kiểu dữ liệu sau này. Để gán giá trị cho các biến, bạn sử dụng câu lệnh gán như sau: $tên_biến = giá trị cần gán; Ví dụ: PHP Code: $nam_sinh=1980; $ho_ten="CMXQ"; Các bạn chú ý đến 2 ví dụ tôi nhập dữ liệu: một cái thì nằm trong cặp dấu ngoặc kép chỉ thị biến đó chứa dữ liệu theo kiểu xâu, còn một cái thì không nằm trong cặp dấu ngoặc kép chỉ thị biến đó chứa dữ liệu kiểu số. Bạn sẽ biết chi tiết hơn ở ngay sau đây: 2. Các kiểu dữ liệu trong PHP PHP có 3 kiểu dữ liệu cơ bản: Integer, double và string. Ngoài ra còn một số kiểu dữ liệu khác, đượ xây dựng dựa trên các kiểu dữ liệu cơ bản trên, như mảng, object, mà chúng ta sẽ đề cập đến
  • 22. 22 sau. Tất cả các biến đều được chỉ định kiểu dữ liệu, và như chúng ta đã nói ở trên, giá trị của chúng có thể bị thay đổi trong quá trình sử dụng. Kiểu giá trị Integer sử dụng 4 byte của bộ nhớ. Đây là kiểu giá trị nguyên (không phải là số thực) và có giá trị nằm trong khoảng từ -2 tỷ đến 2 tỷ. Kiểu dữ liệu double là kiểu dữ liệu số thực, cho phép chứa các số thưc. Kiểu String được sử dụng để chứa các dữ liệu như là các ký tự văn bản, ký tự đặc biệt và các chữ số. Dữ liệu kiểu string được đặt trong cặp dấu ngoặc kép ("") chỉ định một xâu (hay còn gọi là chuỗi ký tự). Ví dụ: 2: Kiểu integer; 2.0: kiểu double "2": Kiểu xâu "2 gio": Kiểu xâu 3.Định nghĩa hằng Hàm define() được sử dụng để tạo một hằng số: Hàm này có cấu trúc sau: PHP Code: define ("tên_hằng","giá trị của hằng"); Ví dụ: PHP Code: define ("COMPANY","NS Co.Ltd");// Định nghĩa hằng COMPANY với giá trị là "NS Co Ltd" define ("diem_so",4.5);// định nghĩa hằng diem_so với giá trị là 4.5 (hic... thi lại ); Sau khi một hằng số được tạo ra, ta có thể sử dụng chúng thay cho giá trị của chúng: PHP Code: echo ("Tên công ty: ".COMPANY); Điều này tương đương với echo ("Tên công ty: NS Co Ltd"); 4. Một số hằng xây dựng sẵn (built in constant) PHP có chứa một số hằng được xây dựng sẵn. TRUE và FALSE là 2 hằng đã được dựng sẵn với chỉ định true (1) và false (=0 hoặc một xâu rỗng) Hằng số PHP_VERSION chỉ định phiên bản của bộ phân tích PHP mà bạn đang dùng hiện tại. Hằng PHP_OS chỉ định hệ điều hành server mà trình phân tích PHP đang chạy. PHP Code: echo (PHP_OS); // in ra màn hình "Linux" (ví dụ) _FILE_and_LINE_ trả về tên của đoạn script (đoạn mã nhúng) đang được phân tích tại dòng hiện thời trong đoạn mã script.
  • 23. 23 PHP còn cung cấp một số hàm để thông báo lỗi như E_ERROR, E_WARNING, E_PARSE và E_NOTICE. Ngoài ra, PHP còn cung cấp một số biến cung cấp thông tin về môi trường PHP đang sử dụng. Để xem các thông tin này,bạn có thể dùng hàm phpinfo() như sau: PHP Code: <HTML> <!-- phpinfo.php--> <BODY> <?php phpinfo(); ?> </BODY> </HTML 5. Lừa kiểu và ép kiểu dữ liệu Như chúng ta đã biết, tất cả các biến PHP đều có kiểu dữ liệu riêng. Kiểu dữ liệu của biến sẽ được tự động xác định bởi giá trị đặt vào biến PHP Code: $a=1 // $a là kiểu integer $a=1.2 // Bây giờ, nó là kiểu double $a="1" // Và bây giờ nó là kiểu string a) Chuyển kiểu chuỗi và lừa kiểu dữ liệu Nếu bạn làm các thao tác tính toán số trên một chuỗi, PHP sẽ tính toán chuỗi như là một số. Điều này được biết đến với cái tên gọi là "chuyển kiểu chuối (String conversion), mặc dù giá trị chuỗi của nó có thể không cần phải thay đổi. Trong đoạn ví dụ sau, biến $str được xác định là một chuỗi: PHP Code: $str="756300 không có"; Nếu chúng ta cố cộng thêm một giá trị nguyên là 3 vào biến $str, biến $str sẽ tự động tính với số nguyên 756300: PHP Code: $x=4+$str;//$x =756304 Nhưng bản thân giá trị của biến $str không thay đổi PHP Code: echo ($str); // In ra màn hình chuỗi "756300 không có" Chuyển kiểu chuỗi phải tuân theo 2 nguyên tắc sau: - Chỉ những chuỗi bắt đầ là một xâu các chữ số. Nếu chuỗi bắt đầu bằng một giá trị số hợp lệ, chuỗi này sẽ được xác định như giá trị của nó, trong trường hợp khác, nó sẽ trả về 0. VD: chuỗi "35 tuổi" sẽ được ước lượng là 35, nhưng chuỗi "tuổi 35" sẽ chỉ xác định giá trị 0.
  • 24. 24 - Một chuỗi sẽ chỉ được xác định như là một giá trị kiểu double nếu giá trị kiểu double được miêu tả bao gồm toàn bộ chuỗi. Chuỗi "3.4", "-4.2" sẽ được ước lượng như giá trị thực 3.4 và - 4.2. Nếu một ký tự không phải là ký tự kiểu số thực được đưa vào chuỗi, giá trị của chuỗi đó sẽ được ước lượng như là một số nguyên. Chuỗi "3.4 dollar" sẽ thành số nguyên 3. Trong việc cộng với chuỗi chuyển kiểu, PHP sẽ thực hiện "lừa kiểu" giữa 2 kiểu số. Nếu bạn thực hiện một phép toán số học giữa kiểu thực và kiểu nguyên, giá trị sẽ là số thực PHP Code: $a=1 //$ a là một số nguyên $b= 1.0 //$b là số thực $c=$a+$b //$c là kiểu số thực , = 2.0 $d = $c+"6th" //$d là kiểu số thực = 8.0 Ép kiểu dữ liệu Ép kiểu dữ liệu cho phép bạn thay đổi kiểu dữ liệu của biến PHP Code: $a=11.2// $a là kiểu thực $a=(int)$a// Bây giờ, $ a là kiểu nguyên, giá trị = 11 $a= (double) $a// Bây giờ $a lại trở về kiểu thực = 11.0 $b= (string)$a// $b là giá trị kiểu chuỗi ="11" Ngoài ra, chúng ta còn được phép ép kiểu (array) và (object) (integer) tương đương với (int); (fload) và (real) tương đương với (double) 6. Một số hàm tiện ích khác PHP có một số hàm hỗ trợ làm việc với các biến - Hàm gettype($ten_bien) xác định kiểu của biến. Nó sẽ trả về một trong các giá trị: "integer", "double", "string", "array", "object", "class", "unknown type" (Chúng ta sẽ tìm hiểu kỹ hơn vể mảng (array) và kiểu đối tượng (object) ở các bài sau. Ví dụ: PHP Code: echo(gettype($name)); - Hàm settype($ten_bien,"kieu_du_lieu") sẽ đặt kiểu dữ liệu cho biến $ten_bien. Kiểu dữ liệu được viết dưới dạng một chuỗi, và có thể có một trong các kiểu sau: "integer", "double", "string", "array", "object". Nếu kiểu dữ liệu không được đặt, giá trị false sẽ được trả về, còn nếu thành công, nó sẽ trả về giá trị true. VD: PHP Code: $a=7.5; //$a là kiểu thực settype($a,"integer"); // bây giờ nó là một số nguyên có giá trị 7
  • 25. 25 - Hàm isset($ten_bien) được sử dụng để xác định xem biến $ten_bien đã đặt một giá trị nào đó hay chưa. Nếu biến đó đã có giá trị, hàm trả về true. Trong truờng hợp ngược lại, hàm trả về giá trị false; - Hàm unset($ten_bien) được sử dụng để huỷ bỏ biến $ten_bien, giải phóng bộ nhớ bị chiếm dụng của biến đó Nguồn: http://sinhvienit.net/@tut/lap-trinh-web-dong/php/90-bai-5-hang-va-bien-trong-php.html 4. Kiểu Dữ Liệu • Boolean • Integer • Float / double • String • Array • Object <?php $don_gia= 7000; $so_luong= 900; $thanh_tien= (double)($so_luong*$don_gia); ?> Nguồn: 5. Các toán tử • Toán tử số học: + - * / %(chialấydư) • Toán tử nối chuỗi: . • Toán tử gán kết hợp: • += $a += $b; $a = $a+ $b; • ++ $a++; $a = $a+ 1; • -= --• *= /= %= .= • Toántửso sánh: • == ===
  • 26. 26 • !=, <> >, >= <, <= • Toántửluậnlý: !And, && Or, | 6. Tham chiếu • Tham chiếu trong PHP cho phép tạo ra hai hay nhiều biến có cùng một nội dung. –Vídụ: <?php $str1 = “laptrinhwebphp”; $str2 = &$str1; echo $str1; →laptrinhwebphp echo $str2; →laptrinhwebphp ?> 7. Các hàm kiểm tra giá trị của biến • Kiểm tra tồn tại isset() • Kiểm tragiá trị rỗn gempty() • Kiểm tra trị kiểu số is_numeric() • Kiểm tra kiểu dữ liệu của biến • Xác định kiểu của biến gettype() 8. Các cấu trúc điểu khiển (if, switch, while, for …) Cấu trúc rẽ nhánh if • Dạng1: if – Cúpháp: if (điềukiện) { khối lệnh }
  • 27. 27 • Dạng2: if … else – Cúpháp: if(điềukiện) { khốilệnh1 } else { khốilệnh2 } Cấu trúc chọnlựa switch • Dạng1: mỗi truờng hợp một cách xử lý khác nhau Cúpháp switch(biếnđiềukiện) { casegiátrị 1: khốilệnh1 break; casegiátrị 2: khốilệnh2 break; ... [default: khốilệnhkhikhôngthỏatấtcảcáccase trên] } Cấu trúc lặp for • Công dụng: –for được sử dụng khi chúng ta biết trước số lần cần
  • 28. 28 lặp, biến đếm chạy trong khoảng giới hạn của vòng lặp, vàgiátrị lặp. • Cúpháp: for($biến_đếm= giátrị khởi đầucủavònglặpfor; điềukiệngiớihạncủavònglặpfor; giátrị lặpcủa vònglặpfor) { khốilệnh } <?php $tong = 0; for($i=1; $i<=10;$i++) { $tong = $tong+ $i; } echo $tong; →55 ?> Cấu trúc lặp foreach • Côngdụng: – foreach thường được dùng để duyệt tập hợp (mảng). • Cúphápduyệtgiátrị cácphầntửtrong mảng: foreach ($ten_mangas $gia_tri) { khốilệnh } • Cúphápduyệtcảkhóavàgiátrị cácphầntửtrongmảng:
  • 29. 29 foreach ($ten_mangas $tu_khoa=> $gia_tri) { khốilệnh } Cấu trúc lặp while • Côngdụng – Thực hiện lặp đi lặp lại một công việc nào đókhi thỏa điều kiện. – while đuợcsửdụngkhikhôngxácđịnhđượcsốlầnlặp(sốlầnlặp phụthuộcvàođiềukiệntạithời điểmthựcthi) • Cúpháp while(điềukiện) { khốilệnh } Cấu trúc lặp do …while • Côngdụng – Thực hiện lặp đi lặp lại một công việc nào đókhi thỏa điều kiện. – do…while: việckiểmtrađiềukiệnsẽđượcthựchiệnsaukhithực hiệnkhốilệnhdo { …} • Cúpháp do { khốilệnh } while(điềukiện);
  • 30. 30 9. Kết nối PHP với MySQL Đầu tiên ta vào phpmyadmin tạo cơ sở dữ liệu, ta mở Xampp server lên, sau đó lên web truy cập với đường dẫn http://localhost/phpmyadmin , nếu bạn chưa có Xampp Server thì bạn nên xem lại bài hướng dẫn cài đặt và sử dụng Xampp Server mà mình đã viết, còn nếu bạn có rồi thì mình tiếp tục, các bạn sẽ tạo database theo như hình sau: Chọn tab là Database,đặt tên cho cơ sở dữ liệu và chọn kiểu là utf8_unicode_ci hoặc utf8_general_ci để có thể đánh chữ và lưu bằng tiếng việt nhé.
  • 31. 31 Sau đó vào tab SQL, chạy đoạn script sau để tạo bảng members,gồm các thông tin sau: id, username, password, email. PHP và MySQL tuy cùng nằm trong 1 gói LAMP, nhưng để cho chúng liên kết được trong ứng dụng web thì ta phải có câu lệnh để kết nối chúng lại. PHP cung cấp cho chúng ta phương thức để kết nối là mysql_connect("server", "username", "password") với 3 tham số cơ bản là tên server,username và password để kết nối đến server . ? 1$con = mysql_connect("localhost","root","");
  • 32. 32 2 3 4 5 if (!$con) { die('Không thể connect đến database:' . mysql_error()); } Mặc định password trong xampp hoặc wamp khi cài đặt là rỗng. Với dòng lệnh trên nếu kết nối không thành công thì sẽ có thông báo cho chúng ta. Kế tiếp sau khi kết nối đến database thành công thì ta sẽ chọn 1 database cần kết nối để làm việc, ta sẽ dùng hàm mysql_select_db("ten-database","chuoi-ket- noi") như sau: ? 1mysql_select_db("2cwebvn_demo",$con)or die ("Không chọn được database"); Cũng nên lưu ý với các bạn, các lệnh kết nối trên thường xuyên sử dụng, do đó mình khuyên các bạn nên để vào 1 tập tin nào đó, chẳng hạn như dbconnect.php sau này cần thì chỉ việc dùng lệnh include(dbconnect.php); Sau khi kết nối đến database thành công thì ta có thể sử dụng nó như thế nào cũng được,bạn có thể tạo bảng, thêm dữ liệu mới vào bảng,... Còn ở đây mình sẽ lấy dữ liệu lên và hiển thị dữ liệu ra một table, mình làm như sau:
  • 33. 33 Ở trên mình sử dụng lệnh mysql_query() để lấy dữ liệu và trả về kết quả cho biến $result, sau khi có kết quả mình dùng vòng lặp while để hiển thị kết quả. Sau khi thao tác với database xong ta nên đóng kết nối lại cho đừng tốn tài nguyên hệ thống. ? 1mysql_close($con); Và đoạn code cuối cùng của mình sẽ như sau:
  • 34. 34 Và đây là kết quả:
  • 35. 35 Nguồn: http://2cweb.vn/news/php-mysql/lam-quen-voi-php-mysql-ket-noi-database-trong-ung-dung- web-12-34.html II. Hệ Cơ Sở Dữ Liệu MySQL 1. Tổng quan MySQL MySQL là hệ thống cơ sở dữ liệu quan hệ. Ý nghĩa cơ bản của MySQL là nó có thể lưư trữ thông tin ở những vùng khác nhau và liên kết chúng lại với nhau. Chúng ta có thể chứa bất cứ thứ gì trong một cơ sở dữ liệu. Ví dụ như những thông tin liên quan đến một người: chẳng hạn như first name, last name, address, phone…. MySQL cho phép bạn tạo những thông tin riêng lẻ trên bảng hoặc những khu vực chứa thông tin thích hợp. Trong MySQL mỗi bảng bao gồm những trường dữ liệu (field) riêng lẻ. Nguồn: http://iloveit1208.blogspot.com/2013/01/8-php-tong-quan-ve-mysql.html 2. Bảng a) Định nghĩa cơ sở dữ liệu, bảng, cột:
  • 36. 36 Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử dụng Bảng: Là 1 bảng giá trị nằm trong cơ sở dữ liệu. Cột là 1 giá trị nằm trong bảng. Dùng để lưu trữ các trường dữ liệu. Thuộc tính Ví dụ: Như vậy ta có thể hiểu như sau: 1 cơ sở dữ liệu có thể bao gồm nhiều bảng. 1 bảng có thể bao gồm nhiều cột 1 cột có thể có hoặc không có những thuộc tính. b) Định nghĩa 1 số thuật ngữ: NULL : Giá trị cho phép rỗng. AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).
  • 37. 37 UNSIGNED : Phải là số nguyên dương PRIMARY KEY : Cho phép nó là khóa chính trong bảng. c)Loại dữ liệu trong Mysql: Ở đây chúng tả chỉ giới thiệu 1 số loại thông dụng: 1 số dữ liệu khác có thể tham khảo trên trang chủ của mysql. 3- Những cú pháp cơ bản: Cú pháp tạo 1 cơ sở dữ liệu: CREATE DATABASE tên_cơ_sở_dữ_liệu; Cú pháp sử dụng cơ sở dữ liệu: Use tên_database; Cú pháp thoát khỏi cơ sở dữ liệu: Exit
  • 38. 38 Cú pháp tạo 1 bảng trong cơ sở dữ liệu: CREATE TABLE user (<tên_cột> <mô_tả>,…,<tên_cột_n>…..<mô_tả_n>) Ví dụ: mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email VARCHAR(200) NOT NULL, PRIMARY KEY (user_id)); Hiển thị có bao nhiều bảng: show tables; Hiển thị có bao nhiêu cột trong bảng: show columns from table; Thêm 1 cột vào bảng : ALTER TABLE tên_bảng ADD <tên_cột> <thuộc_tính> AFTER <tên_cột> Ví dụ: mysql> alter table user add sex varchar(200) NOTNULL after email; 4- Thêm giá trị vào bảng: Cú pháp: INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng); Ví dụ: mysql> insert into user(username,password,email,sex,home) values("Lanna","12345","lanna@yahoo.com","F","www.abc.com");
  • 39. 39 5- Truy xuất dữ liệu: Cú pháp: SELECT tên_cột FROM Tên_bảng; Ví dụ: mysql> select user_id,username from user; 6- Truy xuất dữ liệu với điều kiện: Cú pháp: SELECT tên_cột FROM Tên_bảng WHERE điều kiện; Ví dụ: mysql> select user_id,username from user where user_id=2; 7- Truy cập dữ liệu và sắp xếp theo trình tự Cú pháp: SELECT tên_cột FROM Tên_bảng WHERE điều kiện (có thể có where hoặc không) ORDER BY Theo quy ước sắp xếp. Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên). mysql> select user_id,username from user order by username ASC ;
  • 40. 40 8- Truy cập dữ liệu có giới hạn : Cú pháp: SELECT tên_cột FROM Tên_bảng WHERE điều kiện (có thể có where hoặc không) LIMIT vị trí bắt đầu, số record muốn lấy ra Ví dụ: mysql> select user_id,username from user order by username ASC limit 0,10 ; 9- Cập nhật dữ liệu trong bảng: Cú pháp: Update tên_bảng set tên_cột=Giá trị mới WHERE (điều kiện). Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng. Ví dụ: mysql> update user set email="admin@qhonline.info" where user_id=1 ;
  • 41. 41 10- Xóa dữ liệu trong bảng: Cú pháp: DELETE FROM tên_bảng WHERE (điều kiện). Nếu không có ràng buộc điều kiện, chúng sẽ xó toàn bộ giá trị của các record trong bảng. Ví dụ mysql>delete from user where user_id=1 ; Nguồn: http://www.qhonline.info/php-can-ban/30/bai-9--Co-ban-ve-ngon-ngu-sql-va-mysql.html
  • 43. 43
  • 44. 44 4. Phát biểu SQL 1) Trên cơ sở dữ liệu (database) Các phiên bản của SQL Server: Enterprise, Personal, Desktop, Developer,.. Các bộ phận của SQL Server: Enterprise Manager, Query Analyzer, Books Online,.. Các loại tập tin của SQL Server: data file (primary, secondary), log file Các loại cơ sở dữ liệu của SQL Server: system database,user database create database:tạo cơ sở dữ liệu create database HoSoSinhVien create database HoSoSinhVien on (name=’HSSV_data’,filename=’c:HSSV_data.mdf’) log on (name=’HSSV_log’, filename=’c:HSSV_log.ldf’) drop database:xóa cơ sở dữ liệu drop database HoSoSinhVien alter database:sửa các thông tin của cơ sở dữ liệu alter database HoSoSinhVien modify name = HSSV exec sp_dboption: sửa các thông tin của cơ sở dữ liệu exec sp_dboption HoSoSinhVien, ‘read only’, ‘true’ exec sp_dboption HoSoSinhVien, ‘autoshrink’, ‘true’ exec sp_dboption HoSoSinhVien, ‘single_user’ dbcc: điều khiển cơ sở dữ liệu dbcc shrinkdatabase(HoSoSinhVien, 10) 2) Trên bảng (table) Nhớ các kiểu số liệu: text, binary, numberic, money, datetime, bit, variant
  • 45. 45 Nhớ các các ràng buộc: default, check,unique, foreign, primary Nhớ các kiểu toàn vẹn: entity, domain, referential, user Nhớ các thuộc tính bổ trợ: identity, null create table: tạo bảng Tạo bảng với các cột create table SinhVien ( MaSV int, TenSV nchar(50) ) Tạo với các ràng buộc create table SinhVien ( MaSV int primary key, TenSV nvarchar(50) not null, QueQuan int references DiaPhuong(MaDP) ) drop table: xóa bảng drop table SinhVien alter table..add: thêm cột Thêm cột bằng cách dùng lệnh alter table alter table SinhVien add QueQuan int alter table..drop column: xóa cột alter table SinhVien drop column QueQuan alter table..alter column: thêm thuộc tính not null alter table SinhVien
  • 46. 46 alter column TenSV nchar(50) not null alter table..add primary key: thêm khóa chính Thêm ràng buộc khóa chính cần phải biến một cột null thành not null trước khi thêm. Nếu để lệnh chuyển đổi thuộc tính not null ngay cạnh lệnh thêm khóa chính thì phải chèn từ khóa go vào vì có thể lệnh trên chưa được thực hiện do đó lệnh dưới báo lỗi alter table SinhVien alter column MaSV int not null go alter table SinhVien add primary key (MaSV) alter table..add foreign key: thêm ràng buộc khóa ngoài alter table SinhVien add foreign key (QueQuan) references DiaPhuong(MaDP) alter table..add default: thêm ràng buộc mặc định alter table SinhVien add default ‘khong ten’ for TenSV exec sp_help: xem thông tin bảng exec sp_help SinhVien 3) Trên bản ghi (record) Nhớ thêm phần biểu thức điều kiện Nhớ thêm phần ký tự thay thế insert..values: thêm các bản ghi vào bảng insert into SinhVien (MaSV,TenSV, QueQuan) values (1, N’Nguyễn Văn A’, 1) insert..select: thêm các bản ghi từ bảng khác vào bảng
  • 47. 47 insert into DocGia select MaSV, TenSV, QueQuan from SinhVien insert into DocGia select MaGV, TenGV, QueQuan from GiaoVien select..into: đưa kết quả lựa chọn vào bảng mới select MaSV, TenSV, Diem into SinhVienKha from SinhVien where Diem > 7.0 delete: xóa các bản ghi từ bảng delete from SinhVien delete from SinhVien where MaSV=1234 truncate: xóa toàn bộ bản ghi của bảng truncate table SinhVien update: sửa các bản ghi trong bảng update SinhVien set NhomTruong = 1 where MaSV < 4 update SinhVien set NhomTruong = 4 where (MaSV > 3 and MaSV < 8) 4) Truy vấn (query) Hỗ trợ truy vấn: distinct, top, as,identity Phép toán tập hợp: in, like, between Các hàm tổng nhóm: sum, max, min, avg 4.1) Truy vấn đơn giản
  • 48. 48 select *: Hiện tất cả bảng select * from SinhVien select: Hiện một số cột select TenSV, DiemTB from SinhVien select..where:Hiện một số dòng / bản ghi select TenSV, DiemTB from SinhVien where DiemTB > 6.0 select..order by: Hiện và sắp xếp theo điểm rồi theo tên select TenSV, DiemTB from SinhVien order by DiemTB desc,TenSV asc // asc sắp sếp tăng dần, desc là giảm dần select..distinct: Hiện danh sách giá trị không trùng lặp select distinct QueQuan from SinhVien select..top: Hiện các dòng đầu tiên trong bảng select top 3 TenSV, DiemTB from SinhVien order by DiemTB desc,TenSV asc 4.2) Truy vấn lồng nhau (nested query) select..where (select) Hiện tất cả những người trong bảng nhân viên có lương bằng lương lớn nhất của những người có trong công ty: select TenNV,Luong
  • 49. 49 from NhanVien where Luong = (select max(Luong) from NhanVien) select..where (in) Hiện tất cả những người trong bảng nhân viên có lương lớn nhất hoặc lớn nhì của những người có trong công ty:. 5. Import và export dữ liệu
  • 50. 50
  • 51. 51
  • 52. 52
  • 53. 53 Chương III: Nói Về Bài Toán Ứng Dụng
  • 54. 54 I. Giới Thiệu Ứng Dụng Ứng dụng quản lý Sinh Viên phát triển dựa trên ngôn ngữ PHP và MySQL II. Chức Năng Chính Quản lý sinh viên, thêm, sửa,xóa thông tin sinh viên. Quản lý lớp học, sinh viên. Quản lý kết quả học tập, xếp loại kết quả sinh viên. … III. Database Diagram IV. Giao Diện Phần Mềm
  • 55. 55
  • 56. 56
  • 57. 57