Tài liệu về MYSQL toàn bộ nằm trong đây mục lục gồm những phần sau A.TỔNG QUAN MYSQL B.Quản trị MYSQL C.CÁC KIỂU DỮ LIỆU TRONG MYSQL D.PHÁT BIỂU SQL Tổng Quang khái quát : MY SQL là Hệ Quản trị Cơ Sở Dữ Liệu Quan hệ RDBMS (Relational Database Management Systems) cung cấp phương thức tuyệt vời để lưu trữ và truy xuất lượng thông tin lớn và phức tạp. MySQL dựa trên cơ sở SQL (Structure Query Language). Không giống như các hệ CSDL phổ biến như Oracle, Sysbase, Informix, Ms SQL Server, IBMs DB2. MySQL là hệ CSDL nguồn mở thông dụng hiện nay .Với phần đông mọi người và phần lớn các ứng dụng, MySQL là sự chọn lựa của họ bởi nó rất thích hợp cho những ứng dụng Web. MySQL hoàn toàn miễn phí. Bạn có thể sử dụng mà không cần chuẩn bị bất kỳ khoản tiền nào. MySQL không có đầy đủ những cơ sở vật chất cho một Hệ Quản trị CSDL chính tông, nhưng đối với công việc thường nhật của phần đông mọi người thì nó cung cấp cũng khá nhiều thứ. Nếu công việc của bạn là lưu trữ dữ liệu trên Web hoặc làm một trang Thương mại Điện tử cỡ vừa, thì MySQL có đủ những thứ bạn cần. Đối với những CSDL cỡ trung bình thì MySQL hỗ trợ tuyệt vời về tốc độ. Các nhà phát triển MySQL rất tự hào về tốc độ sản phẩm của họ. MySQL được cải thiện liên tục với một tần số không ngờ. Các nhà phát triển cập nhật nó thường xuyên, ngoài ra còn bổ sung các tính năng rất ấn tượng cho nó mọi lúc mọi nơi. Hiện tại, MySQL đã được bổ sung thêm hỗ trợ transaction. Như vậy là MySQL đã thực thụ trở thành một Hệ Quản trị CSDL chuyên nghiệp.
Trang 1MỤC LỤC
I TỔNG QUAN 3
1 Khái niệm 3
a Mạng - giao thức 3
b Địa chỉ IP: IP Address 3
c Tên miền: Domain Name 3
d Máy chủ-máy phục vụ: Server 3
e Máy khách: Client 3
f Cổng dịch vụ: Service Port 4
g Chuỗi định vị tài nguyên (địa chỉ): URL (Uniform Resource Locator) 4
h Trang web, web site, World Wide Web 4
i Web server, Web browser 4
j Phân loại trang web 4
2 Công bố website trên Internet 5
a Các điều kiện cần thiết 5
b Đăng ký tên miền 5
c Hosting 5
d Duy trì website 5
II Ngôn ngữ HTML 5
1 Cấu trúc cơ bản 5
III Ngôn ngữ PHP 7
1 Kiến trúc họat động cơ bản của DYNAMIC WEB 8
a Client 8
b Server 8
c MIDDLE WARE 8
IV PHP và Webserver APACHE 9
1 Cài đặt PHP và Apache 9
2 Cài đặt công cụ quản trị MYSQL 14
3 Cấu hình web server APACHE 18
V Nhập môn lập trình php 19
1 Code PHP trong HTML 19
a Nhúng code PHP vào trong web 19
b Thẻ PHP 19
c Sử dụng dấu ; 19
d Ghi chú trong php 20
2 Sử dụng Biến 20
a Biến Form 20
b Khai báo biến 20
c Kiểu dữ liệu của biến 20
d Bíên dạng biến thiên 21
e Biến hằng trong PHP 21
f Tầm họat động của biến 21
g Biến mảng 21
h Chuyển đổi biến 23
i Kiểm tra kiểu dữ liệu biến 23
3 Tóan tử trong PHP 24
a Tóan tử số học 24
b Tóan tử ghép chuỗi 24
c Tóan tử kết hợp 24
d Tóan tử So sánh 24
e Tóan tử logic 24
f Toán tử ? 25
g Tóan tử error 25
4 Cấu trúc ngôn ngữ 25
a Phát biểu if 25
b Phát biểu else 26
c Phát biểu elseif 26
Trang 2eduFirst
d Phát biểu switch 27
e Phát biểu vòng lặp While 27
f Phát biểu vòng lặp do….while 27
g Phát biểu vòng lặp for 28
h Thoát khỏi cấu trúc 28
5 Tạo hàm trong PHP 28
a Khai báo hàm 28
b Gọi hàm 29
c Truyền tham số 29
d Hàm có giá trị trả về 30
e Tham biến 30
6 Hàm thư viện 31
a Hàm sử lý số 31
b Hàm sử lý chuỗi 32
c Hàm xử lý thời gian 34
d Các hàm thư viện khác 35
VI Quản trị MYSQL 36
1 Kết nối tới Server MySQL 36
2 Tạo Database 38
3 Tạo bảng 39
4 Import Dữ liệu từ Database khác 40
5 Export dữ liệu từ 1 bảng MYSQL ra Exel 44
6 CÁC KIỂU DỮ LIỆU TRONG MYSQL 48
a DỮ LIỆU KIỂU SỐ 48
b DỮ LIỆU KIỂU THỜI GIAN 48
c DỮ LIỆU KIỂU CHUỖI 48
7 PHÁT BIỂU SQL 49
a Phát biểu SELECT 49
b Phát biểu INSERT 53
c Phát biểu UPDATE 54
d Phát biểu DELETE 54
e Phát biểu SQL dạng JOIN 54
f Phát biểu SQL dạng UNION 55
g Phát biểu SQL dạng CREATE 56
h Phát biểu SQL dạng DROP 56
VII Lập trình PHP với cở sở dữ liệu 57
1 Kết nối cơ sở dữ liệu 57
2 đóng kết nối cơ sở dữ liệu 57
3 Truy vấn cơ sở dữ liệu 57
a Mở 1 recordset 57
b Đếm số lượng records 58
c Đọc từng record từ recordset 58
VIII Điều khiển session 60
IX Điều khiển Cookie 61
X Truy vấn dữ liệu file trong PHP 61
1 Mở file 61
2 Đọc nội dung trên file 62
3 Ghi dữ liệu vào file 63
4 Đóng file 63
5 Kiểm tra file 63
6 Kiểm tra dung lượng của file 64
7 Xóa file 64
Trang 3– FTP: File Transfer Protocol, "Giao thức truyền tập tin")
b Địa chỉ IP: IP Address
ü Xác định một máy tính trong mạng dựa trên giao thức TCP/IP Hai máy tính trong mạng có 2 địa chỉ IP khác nhau
ü Có dạng x.y.z.t (0 ≤ x, y, z, t ≤ 255)
– Ví dụ: 192.168.1.100: địa chỉ máy chủ web của ĐHSP Hà Nội
ü Đặc biệt: địa chỉ: 127.0.0.1 (địa chỉ loopback) là địa chỉ của chính máy tính đang sử dụng dùng để thử mạng
c Tên miền: Domain Name
ü Là tên được “gắn” với 1 địa chỉ IP
ü Máy chủ DNS: Domain Name System, thực hiện việc “gắn” (ánh xạ)
ü Ở dạng văn bản nên thân thiện với con người
ü Được chia thành nhiều cấp, phân biệt bởi dấu chấm (.) Đánh số cấp lần lượt từ phải sang trái bắt đầu từ 1
ü Cấp lớn hơn là con của cấp nhỏ hơn
ü Ví dụ: cntt.dhcntt.edu.vn gắn với 203.162.20.20 trong đó:
– vn: Nước Việt Nam (Cấp 1)
– edu: Tổ chức giáo dục (Cấp 2)
– dhcntt: Tên cơ quan (Cấp 3)
– cntt: đơn vị nhỏ trong cơ quan (Cấp 4)
ü Đặc biệt: Tên localhost được gắn với 127.0.0.1
d Máy chủ-máy phục vụ: Server
ü Là máy tính chuyên cung cấp tài nguyên, dịch vụ cho máy tính khác
ü Thường được cài các phần mềm chuyên dụng để có khả năng cung cấp
ü Một máy chủ có thể dùng cho một hay nhiều mục đích Tên máy chủ thường gắn với mục đích sử dụng Ví dụ:
– File server: là tính năng cho phép các user lưu trữ file trên máy chủ
ü Máy khai thác dịch vụ của máy chủ
ü Với mỗi dịch vụ, thường có các phần mềm chuyên biệt để khai thác
ü Một máy tính có thể vừa là client vừa là server
ü Một máy tính có thể khai thác dịch vụ của chính nó
Trang 4eduFirst
f Cổng dịch vụ: Service Port
ü Là số ∈ [0; 65535] xác định dịch vụ của máy chủ
ü 2 dịch vụ khác nhau chiếm các cổng khác nhau
ü Mỗi dịch vụ thường chiếm các cổng xác định, ví dụ:
• Web: 80
• FTP: 21
g Chuỗi định vị tài nguyên (địa chỉ): URL (Uniform Resource Locator)
ü Tài nguyên: file trên mạng
ü URL: Xác định vị trí và cách khai thác file
ü Cấu trúc: giao_thức://địa_chỉ_máy:cổng/đường_dẫn/tên_file
ü Ví dụ: http://www.dhsphn.edu.vn:8080/html/test.htm
ü Trong trường hợp mặc định, nhiều thành phần có thể bỏ qua:
– Giao thức, cổng: Được trình duyệt đặt mặc định
– Tên file: được máy chủ đặt mặc định
h Trang web, web site, World Wide Web
ü Trang web: Web page:
– Là một trang nội dung
– Có thể được viết bằng nhiều ngôn ngữ khác nhau nhưng kết quả trả về client là HTML
ü Web site:
– Tập hợp các trang web có nội dung thống nhất phục vụ cho một mục đích nào đó
ü World Wide Web (WWW): Tập hợp các web site trên mạng internet
i Web server, Web browser
j Phân loại trang web
Dựa vào công nghệ phát triển, có 2 loại:
– Sử dụng nhiều ngôn ngữ khác nhau
– Thường phải viết nhiều mã lệnh
Trang 5eduFirst
2 Công bố website trên Internet
a Các điều kiện cần thiết
ü Xây dựng website
ü Quyền sử dụng hợp pháp
ü Domain
– Sử dụng tên miền con miễn phí
– Đăng ký tên miền riêng
ü Hosting
– Sử dụng miễn phí
– Thuê không gian riêng
– Tự host website của mình
ü Duy trì và phát triển và quảng bá website
b Đăng ký tên miền
ü Xác định tên
– Tên tiếng Việt
– Tên giao dịch tiếng Anh
– Tên viết tắt
ü Xác định nơi đăng ký
ü Đăng ký tên miền càng sớm càng tốt
– Thủ tục đơn giản, nhanh chóng
– Kinh phí rẻ
• Việt Nam: 450.000+480.000/năm
• Nước ngoài: 8 – 12USD
c Hosting
ü Xác định môi trường vận hành của website
– Máy chủ Windows
• Support ASP, PHP…, SQL Server, MySQL…
• Đắt hơn máy chủ Linux – Máy chủ Linux
• Support PHP, JSP…, MySQL…
• Rẻ hơn máy chủ Windows
ü Xác định dung lượng thực tế của website, khả năng sẽ mở rộng
ü Xác định băng thông, các dịch vụ đảm bảo an toàn, an ninh, backup dữ liệu…
d Duy trì website
Cập nhật thông tin
ü Web tĩnh:
– Upload Webpage thông qua Web Browser
– Upload Webpage thông qua FTP program (Cute FTP, FTP Voyager,… )
1 Cấu trúc cơ bản
Một document HTML luôn bắt đầu bằng <html> và kết thúc bằng </html> (trong đó bạn cũng có thể viết nhỏ hoặc viết hoa <html> và </html>) Nhờ có cặp TAG này mà Browser biắt được đó là HTML -
Trang 6eduFirst
document để trình duyệt Những chữ đó chỉ để dành riêng cho Browser, người đọc chỉ nhận được những
gì viết giữa cặp TAG <body> và </body> Trong một document html, chú thích được dùng như sau:
<! Ðây là dòng chú thích, chỉ dành riêng cho bạn, browser bỏ qua dòng này >
Như vậy một trang web viết bằng html sẽ có cấu trúc như sau:
• face thể hiện cho mẫu chữ
• size thể hiện cho cỡ chữ (số càng lớn thì chữ càng to)
• color thể hiện cho màu sắc của chữ, #000000 là màu đen, #FF0000 là màu đỏ, #FFFF00 là màu vàng
Như vậy là bạn đã có thể viết được một trang web đơn giản rồi đó
Trong một HTML Document, ngoài phần body còn có phần head, được viết bởi cặp tag <head></head> Nếu bạn sử dụng cặp tag này, bạn bắt buộc phải viết thêm một cặp tag nữa, đó là <title></title> Giữa
<title> và </title> là tên của trang web được browser trình bày phía trên cùng của menubar Như vậy một trang web với "đầu" sẽ có cấu trúc như sau:
Trang 7eduFirst
<center>
<font face="Verdana, Tahoma, Arial" color="#ffffff">
<h1>Tiêu đề của trang web</h1>
<h2>Welcome to my Homepage!</h2>
<h3>Tiêu đề của trang web</h3>
<h4>Tiêu đề của trang web</h4>
<h5>Tiêu đề của trang web</h5>
<h6>Tiêu đề của trang web</h6>
Trong ví dụ này, nền của trang là xanh nước biển (#000080) chữ màu trắng
III Ngôn ngữ PHP
PHP tốc độ nhanh, dễ sử dụng vì 3 lý do sau khi so ánh tốc độ giữa các ngôn ngữ lập trình Web Thứ nhất, ứng dụng viết bằng C chạy nhanh nhất Thứ hai, công việc lập trình C khá là phức tạp, và sẽ ngốn nhiều thời gian hơn Thứ ba, việc so sánh giữa các ngôn ngữ là một điều khó khăn Có thể nói rằng PHP cũng nhanh như các ngôn ngữ khác
Chắn chắn bạn sẽ chọn loại tiện dụng nhất? Bạn sẽ cảm thấy rằng PHP có đầy đủ các đặc tính như khả năng, cấu trúc và dễ sử dụng Xin nói thêm cú pháp PHP tuyệt hơn ASP hay JSP PHP cung cấp các tính năng mạnh mẽ để thực hiện ứng dụng Web một cách nhanh chóng
PHP cho phép chạy trên nhiều hệ điều hành Như đã trình bày ở phần kiến trúc web, PHP có thể chạy trên WindowsNT/2000/2003 và Unix với sự hỗ trợ của IIS và Apache Nhưng ngoài ra nó có thể chạy trên một số các platform khác như Netscape, Roxen, hay một vài thứ khác Như chúng ta biết ASP có thể chạy trên Unix, ColdFusion có thể chạy trên Solaris và Linux, JSP có thể chạy trên khá nhiều loại platform Đối với PHP, nó có thể chạy tốt trên những platform hỗ trợ các chủng loại trên
PHP cho phép truy cập bất kỳ loại CSDL nào Ứng dụng của bạn dự định sẽ truy cập những loại dữ liệu dịch vụ nào? LDAP, IMAP mail server, DB2, hay XML parser hay WDDX Bất kể bạn cần đến thứ gì thì PHP cũng sẵn sàng hỗ trợ thông qua các hàm được xây dựng sẵn nó sẽ làm công việc của bạn trở nên rất dễ dàng và tiện lợi sẽ rõ
PHP Luôn được cải tiến & cập nhật Nếu như bạn cảm thấy bỡ ngỡ đối với việc phát triển nguồn mở, bạn
có lẽ sẽ ngạc nhiên đối với chất lượng của loại phần mềm này Có hàng ngàn những chuyên gia lập trình xuất sắc đợi sẵn và họ sẵn sàng bỏ thời gian ra để tạo hững phần mềm tuyệt vời và hầu như miễn phí Đối với ngôn ngữ thịnh hành như PHP thì ắt hẳn là các rất nhiều các nhà lập trình đang thực hiện phát triển nó hằng ngày Sự thật có một việc rất ấn tượng là nếu như bạn có một sự cố kỹ thuật, bạn có thể gởi email đến một nhà phát triển PHP các chi tiết sự cố đó Chỉ trong vòng vài giờ bạn sẽ nhận được sự trả lời thoả đáng Khi PHP được phổ biến, nó đã trở thành một hiện tượng của ngôn ngữ lập trình Nó giúp cho việc bổ sung số lượng lớn các hàm chức năng một cách dễ dàng Nếu như ngôn ngữ đã có sẵn nhiều hàm đặc thù cho công việc thì bạn sẽ đỡ tốn công hơn cho việc lập trình của mình
PHP được hướng dẫn kỹ thuật bất cứ lúc nào Hầu hết các ngôn ngữ đều hỗ trợ active mailing list (hiểu nôm na là danh sách mail những thành viên trực chiến hỗ trợ kỹ thuật) và các development site (trang web hỗ trợ giải quyết kỹ thuật) PHP cũng không ngoại lệ Nếu bạn gặp phải sự cố - gặp những lỗi trong chương trình và không tìm ra cách khắc phục - sẽ có hàng trăm người có tên trong danh sách mail luôn sẵn lòng kiểm tra và khắc phục sự cố cho bạn Bộ nguồn mở PHP thật sự đã tạo ra một tình cảm của cả cộng đồng Khi bạn gặp phải khó khăn đối với nó thì lúc nào cũng có những đồng môn chia sẻ nỗi lòng
đó và giúp bạn khắc phục nhằm đem lại niềm vui cho bạn
Trang 8eduFirst
PHP hoàn toàn miễn phí Bạn không ngại gì về vấn đề bản quyền khi bạn sắm một máy vi tính và cài lên
đó những phần mềm như Linux, Apache, PHP vì tất cả đều miễn phí
1 Kiến trúc họat động cơ bản của DYNAMIC WEB
Kiến trúc căn bản nhất để trang Dynamic Web hoạt động được là nó phải làm việc trên mô hình client/server Nôm na là mỗi thứ client hay server đều đảm đương một chức năng riêng để hoàn thành công việc chung đó là cho ra một trang Web động
Các bạn có lẽ đã quen thuộc với chương trình WinWord để soạn văn bản, nó có thể hoạt động độc lập trên bất kỳ máy tính nào chẳng cần quan tâm tới cái gì là client hay cái gì là server Ứng dụng Web thì khác hẳn, phải có một mô hình server có thể là một máy tính làm server thôi, nhằm tập trung hoá việc xử
lý dữ liệu Còn các client, còn được hiểu nôm na là máy tính của người sử dụng phải được nối mạng với server, giả sử các máy này truy cập vào một Website chẳng hạn, thì có nghĩa họ đã truy cập vào server, sau đó lấy dữ liệu từ server về thể hiện lên máy mình Cùng một lúc có thể có hàng trăm người (client) truy cập vào cùng một Website được xử lý tập trung trên server, tương tự như một đám trẻ xúm nhau giành phần của mình từ một cái bánh
a Client
Các ứng dụng mà bạn phát triểân trên nền MySQL và PHP sử dụng tính năng single client đó là trình duyệt Web Tuy nhiên, không phải đây chỉ là ngôn ngữ duy nhất để phát triển ứng dụng Web Đối với những ứng dụng phức tạp đòi hỏi multi-client hoặc cần các tính năng bảo trì (chúng ta sẽ bàn tính năng này sau), thì ứng dụng Java applet sẽ hữu dụng cho việc này Chỉ trừ trường hợp bạn cần sử dụng ứng dụng thời gian thực như ứng dụng chat chẳng hạn, thì bạn Java Applet mới cần thiết Ở đây chúng ta không bàn tới lập ứng dụng cho chuyện tán gẫu mà chỉ tập trung vào ứng dụng duyệt Web nên không đụng chạm gì tới Java Applet cả
Như bạn đã biết ngôn ngữ khởi thuỷ cho việc duyệt Web là HTML HTML cung cấp hàng tá những thẻ lệnh (Tag) cho phép thể hiện trang Web theo nhiều kiểu cách khác nhau Nếu bạn chưa có kiến thức cơ sở
về HTML thì có thể chạy ra ngoài mua ngay một quyển sách hoặc download trên internet xuống các bài học hướng dẫn Bạn không nên bỏ ra quá nhiều thời gian để học về HTML Ngoài HTML ra các trình duyệt Web còn cho phép các add-in hỗ trợ nhiều thứ khác như RealPlayer, Flash, Shockwave, hoặc hỗ trợ
về Javascript hoặc XML Nhưng ở đây chúng tôi chỉ tập trung trên những gì cần thiết cho sự hội nhập của bạn – đó là HTML
b Server
Hầu hết các ứng dựng Web đều hoạt động tập trung trên Server Một ứng dụng đặc trưng gọi là Web Server sẽ đảm trách việc giao tiếp với các trình duyệt Một Cơ sở dữ liệu (CSDL) trên Server sẽ lưu trữ tất cả những thông tin đáp ứng yêu cầu cho công việc của ứng dụng Web Kế tiếp, bạn cần phải có một ngôn ngữ làm vai trò "chú bé liên lạc" giữa Web Server và CSDL trên server Ngôn ngữ này cũng thực hiện các công việc xử lý thông tin đến và đi từ Web Server
c MIDDLE WARE
Ngôn ngữ lập trình Web (PHP, ASP, JSP)
DATABASE SERVER (MySQL, SQLserver )
WEB SERVER (Apache, IIS)
INTERNET WEB BROWSER(Internet Explorer, Netscape)
Và dĩ nhiên là các thứ này sẽ chẳng hoạt động được nếu như không chạy trên một Hệ Điều Hành (HĐH)
Trang 10eduFirst
Click phím next , cửa sổ kế tiếp xuất hiện như hình dưới :
Đánh dấu check vào mục I Accept the agreement, click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Trang 11eduFirst
Click phím next, cửa sổ kế tiếp xuất hiện như hình dưới :
Click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Trang 12eduFirst
Chọn YES, click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Click chọn nút Install, click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Trang 13eduFirst
Đợi chương trỉnh cài đặt xong, cửa sổ kế tiếp xuất hiện như hình dưới :
Chọn Finish để hòan tất chuơng trình cài đặt
Để khởi động chương trình ban vào click nút Start – Program – EasyPHP – EasePHP, cửa sổ sau xuất hiện như hình dưới :
Trang 14eduFirst
Bạn click vào nút Apache chọn Start
Để khởi động chương trình ban vào click nút Start – Program – EasyPHP – EasePHP, cửa sổ sau xuất hiện như hình dưới :
Bạn click vào nút MySQL chọn Start
2 Cài đặt công cụ quản trị MYSQL
DBL Click vào file QuantrimySQL_navicat_trial.exe để tiến hành cài đặt Cửa sổ sau xuất hiện
Trang 15eduFirst
Click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Đánh dấu check vào mục I Accept the agreement, click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Trang 16eduFirst
Click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Trang 17eduFirst
Đánh dấu check vào 2 mục trên Click phím next cửa sổ kế tiếp xuất hiện như hình dưới :
Click nút Install để tiến hành cài đặt Cửa sổ kế tiếp xuất hiện như hình dưới :
Trang 18eduFirst
Chờ cho đến khi cài đặt xong chương trình Cửa sổ kế tiếp xuất hiện như hình dưới :
Click Finish để hòan tất
3 Cấu hình web server APACHE
Sau khi bạn start Webserver , bạn kiểm tra trên thư mục cài đặt có 1 thư mục WWW , đây là thư mục mà
sau này sẽ chứa tòan bộ ứng dụng web của bạn
Trang 19eduFirst
Trên taskbar bạn sẽ thấy 1 hình chữ E màu đen Click chuột fải vào chữ E này chọn Configuration - Apache Bạn sẽ thấy 1 file có tên httpd.conf xuất hiện Bạn tìm đến mục Listen và thêm vào dòng lệnh sau : Listen [địa chỉ ip của webserver]:80 rồi lưu file này lại
Lệnh này dùng để cho phép các client trong mạng có thể truy xuất vào webserver để duyệt trang web Bạn tạo thử 1 trang index.php có nội dung bất kỳ và lưu vào trong thư mục WWW Client có thể xem
trang này thông qua đị chỉ internet sau : http://[địa chỉ ip WebServer]/index,php Nếu trên máy Webserver thì bạn có thể truy xuất qua địa chỉ http://localhost/index.php
V Nhập môn lập trình php
1 Code PHP trong HTML
a Nhúng code PHP vào trong web
Code PHP trong HTML nằm trong cú pháp sau : <?php ………… ?>
<? Echo “Hello World”; ?>
Để sử dụng thẻ này bạn phải khai báo trong file PHP.INI lệnh sau : short_open_tag=On
• Thẻ định dạng XML : là thẻ có thể sử dụng với văn bản XML :
<?php Echo “Hello World”; ?>
• Thẻ Script : Trong trừong hợp sử dụng PHP như 1 script như javascript hay vbscript ta dùng cú pháp sau :
<script language=’php’>
echo “Hello World”;
</script>
• Thẻ ASP : trong trường hợp khai báo PHP như 1 phần trong trang ASP thì dùng cú pháp :
<% echo “Hello World”; %>
Để sử dụng thẻ này bạn phải khai báo trong file PHP.INI lệnh sau : asp_tags=On
c Sử dụng dấu ;
Sau 1 dòng lệnh PHP luôn kết thúc bằng dấu ; vì vậy các lệnh sau đều hợp lệ :
echo “ Hello!”;
echo “Goodbye”; Hay
echo “ Hello!”; echo “Goodbye”;
Trang 20• Để ghi chú 1 dòng lệnh thì dùng dấu // hay #
// echo “hello world”;
echo “GoodBye”; # đây là chú thích
2 Sử dụng Biến
a Biến Form
Khi 1 form gửi ra trị từ dưới client về sever ta có thể lấy ra giá trị của các biến này theo cách gửi tương ứng
• Gửi bằng phưong thức POST :
echo “UserName là : “ $HTTP_POST_VARS[“txtUser”];
echo “Password là : “ $HTTP_POST_VARS[“txtPass”];
• Gửi bằng phưong thức GET :
echo “UserName là : “ $HTTP_GET_VARS[“txtUser”];
echo “Password là : “ $HTTP_GET_VARS[“txtPass”];
Bạn có thể viết tắt 2 trường hợp trên như sau với điều kiện khai báo thông số : register_globals=On trong PHP.INI
echo “UserName là : “ $txtUser;
echo “Password là : “ $txtPass;
Dấu chính là tóan tử ghép chuỗi bạn có thể viết lại theo cách sau PHP vẫn cho kết quả tương tự
vì PHP luôn hiểu sau dấu $ là 1 biến cho dù trong chuỗi:
echo “UserName là : $txtUser”;
echo “UserName là : $txtPass”;
b Khai báo biến
1 biến khi khai sinh bạn đặt cho biến 1 tên Tên biến không khỏang trắng, chỉ dùng các ký tự a-z, 0-9 và dấu _ PHP phân biệt chữ thường và chữ hoa PHP không yêu cầu bạn khai báo biến trước khi sử dụng chúng Ta nên khai báo biến và gán chó chúng 1 giá trị bạn đầu
c Kiểu dữ liệu của biến
PHP hỗ trợ 5 kiểu dữ liệu sau :
• Integer : Sử dụng hầu hết cho giá trị dữ liệu kiểu số
• Double : Sử dụng hầu hết cho giá trị dữ liệu kiểu số thực
• String : Sử dụng hầu hết cho giá trị dữ liệu kiểu chuỗi
• Array: Sử dụng hầu hết cho giá trị dữ liệu là mảng có phần tử cùng kiểu dữ liệu
• Object : Sử dụng hầu hết cho giá trị dữ liệu là đối tượng của lớp
Bạn có thể chuyển đổi kiểu dữ liệu như ví dụ sau :
<?php
Trang 21eduFirst
$tongtien=(double)($soluong*$dongia+$thue);
echo “Thành tiền : $tongtien”;
?>
d Bíên dạng biến thiên
Biến dạng biến thiên là 1 loại biến đặc biệt, loại biến này cung cấp cho bạn cách tự động thay đổi tên của biến
echo "RATE: ".RATE."<br>";
echo "Total: ".$qty*$price*RATE;
?>
f Tầm họat động của biến
PHP cung cấp 2 loại vùng họat động cho biến :
• Biến cấp cục bộ là biến khai báo bên trong 1 function biến được khai sinh khi function được gọi
và chết đi khi function kết thúc, biến trong function nào thì chì được sử dụng trong function đó
for ($i=0;$i<$n;$i++)
Trang 22echo "No Value<br>";
while ($i=each($Items)) {
Trong đó khóa key là vị trí của phần tử mảng, value là giá trị của phần tử mảng tương ứng với
phưuơng thức thứ key Ngòai ra ta cũng có thể dùng hàm list để tách phần tử mảng vào biến Trong trường hợp biến mảng items có 2 cột dữ liệu là key và value, ta có thể đọc từng phần tử vào 2 biến tương ứng như sau :
<?php
$n=10;
$Items=array($n);
for ($i=0;$i<$n;$i++) $Items[$i]=$i*2;
echo "Key Value<br>";
while (list($k,$v)=each($Items)) {
Trong đó biến $k lấy giá trị ví trí của phần tử, biến $v là giá trị của phần tử thứ $k
• Mảng 2 chiều : khai bao và duyệt các phần tử của mảng 2 chiều
<?php
$products=array(array("TIR","Tires", 100),array("COR","Concord", 1000),array("BOE","Boeing", 5000));
for ($row=0;$row<3;$row++) {
for ($col=0;$col<3;$col++)
echo "\t|\t".$products[$row][$col];
} echo "<br>";
Trang 23eduFirst
$products[2][1]="C1";
$products[2][2]=30;
for ($row=0;$row<3;$row++) {
for ($col=0;$col<3;$col++)
echo "\t|\t".$products[$row][$col];
} echo "<br>";
h Chuyển đổi biến
• Hàm gettype(biến) : trả về 1 chuỗi cho biết biến đó thuộc kiểu dữ liệu nào Nếu không xác định được thì trả về chuỗi “unknown type”
• Hàm settype(biến, kiểu dữ liệu) : ép biến đó trở về kiểu dữ liệu tương ứng
i Kiểm tra kiểu dữ liệu biến
• is_array(biến) : Kiểm tra biến là kiểu dữ liệu array hay không
• is_double(biến) : Kiểm tra biến là kiểu dữ liệu double hay không
• is_float(biến) : Kiểm tra biến là kiểu dữ liệu double hay không
• is_real(biến) : Kiểm tra biến là kiểu dữ liệu real hay không
• is_long(biến) : Kiểm tra biến là kiểu dữ liệu long hay không
• is_int(biến) : Kiểm tra biến là kiểu dữ liệu int hay không
Trang 24eduFirst
• is_integer(biến) : Kiểm tra biến là kiểu dữ liệu integer hay không
• is_string(biến) : Kiểm tra biến là kiểu dữ liệu string hay không
• is_object(biến) : Kiểm tra biến là kiểu dữ liệu object hay không
! = hay <> $a! =$b hay $a<>$b $a khác $b
Trang 25|| hay or $a! =$b hay $a<>$b
Trả về true nếu 1 trong 2 điều kiện true hay cả hai điều kiuện true ngược lại trả về false
Trong trường hợp biếu thức hay phép tóan phát sinh lỗi trên trang web, nếu bạn muốn không xuất ra
thông báo lỗi này thì bạn dùng tóan tử error là dấu @
Trang 26echo $a “<br>”;
echo $b }
?>
b Phát biểu else
Phát biểu else luôn là trường hợp của phát biểu if với 1 điều kiện, nếu điều kiện là true thì khôi lệnh trong phát biểu if được thực thi còn nếu ngược lại thì nếu điều kiện là false thì khối lệnh trong phát biểu else được thực thi
echo $a “<br>”;
echo $b;
} else {
elseif ($soluong>=10 && $soluong<=20) $giamgia=20;
elseif ($soluong>20 && $soluong<=30) $giamgia=30;
elseif ($soluong>30 && $soluong<=40) $giamgia=40;
Trang 27e Phát biểu vòng lặp While
Cú pháp : while(điều kiện)
{ Khối lệnh;
} while(điều kiện)
Phát biểu vòng lặp này cho phép thực thi khối lệnh bên trong cho đến khi điều kiện của do…while là true Phát biểu này sẽ lặp ít nhất 1 lần
<?php
$qtty=5;
$price=5000;
do { echo "<tr><td>".$qtty."</td><td>".$qtty*$price."</td></tr>";
$qtty ;
}
Trang 28echo "<tr><td>".$qtty*$rate."</td><td>";
echo $qtty*$price."</td></tr>";
}
?>
h Thoát khỏi cấu trúc
Để thóat khỏi vòng lặp hay phát biểu điều khiển nào đó bạn dùng từ khóa exit , khi php gặp lệnh này nó
sẽ thót ngay ra khỏi phát biểu mà không cần biểu điều kiện vẫn còn thỏa trong vòng lặp hay so sánh
<?php
$qtty=5;
$price=5000;
while($qtty>0) {
echo "<tr><td>".$qtty."</td><td>";
echo $qtty*$price."</td></tr>";
$qtty ;
if ($qtty==3) exit;
Ví dụ :
function chao()
{ echo “Here is my function <br>” ; echo “Have a good day” ;
}
Hay
function tinhtoan($x)
{
Trang 29<?php
function create_table($data)
{ echo "<table border=1>";
reset($data);
$value=current($data);
while($value) {
echo "<tr><td>$value</td></tr>\n";
$value=next($data);
} echo "</table>";
echo "<table border=$border cellpading=$cellpading ";
echo "cellspacing=$cellspacing>";
reset($data);
$value=current($data);
while($value) {
echo "<tr><td>$value</td></tr>\n";
$value=next($data);
}
Trang 30<?php function ReturnNo($data,$i) {
$total=0;
for($j=0;$j<$i;$j++) {
$total+=$data[$j];
} return $total;
Khi truyền 1 giá trị cho 1 hàm thông qua 1 biến nếu bạnmuốn lấy giá trị trả về cho biến đó thì bạn dùng
kỳ thuất tham biến bằng các thêm tóan tử & vào biến trên hàm nhận giá trị tới
<?php
Trang 31• abs(số) : lấy trị tuyệt đối
echo $abs = abs(-4.2)."<br>"; // $abs = 4.2 (double/float)
echo $abs2 = abs(5)."<br>"; // $abs2 = 5 (integer)
echo $abs3 = abs(-5)."<br>"; // $abs3 = 5 (integer)
echo $r = fmod($x, $y) "<br>";
• min(danh sách trị số) : lấy giá trị nhỏ nhất trong danh sách
Trang 32• Ltrim(chuỗi): cắt bỏ các khỏang trắng bên trái chuỗi
• Chop(chuỗi): cắt bỏ các khỏang trắng bên phải chuỗi
• Trim(Chuỗi): cắt bỏ các khỏang trắng bên phải và bên trái chuỗi
<?php
$total=1000
echo $total ltrim(" Wellcome") ;
echo chop("Wellcome ").$total ;
echo $total trim(" Wellcome ").$total ;
?>
• printf(chuỗi): in ra 1 chuỗi trên trang web với định dạng cho trước
Lọai Diễn giải
b Biên dịch như số nguyên và in dạng binary
c Biên dịch như số nguyên và in dạng character
d Biên dịch như số nguyên và in dạng decimal
f Biên dịch như số thực double và in dạng float
o Biên dịch như số nguyên và in dạng octal
s Biên dịch như chuỗi và in dạng string
x Biên dịch như số nguyên và in dạng hexadecimal ký tự từ a-f
X Biên dịch như số nguyên và in dạng hexadecimal ký tự từ A-F
<?php
$total=12.55;
echo "Total amount of order: $total<br>";
printf("Total amount of order làm tròn 1 số lẻ : %.1f", $total);
echo "<br>";