1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide 3, Làm việc với PHP MySQL

66 261 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 397,14 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Trang web được viết bằng HTML, chỉ thay đổi khi có sự thay đổi của người xây dựng • Khả năng tương tác yếu • Webserver hoạt động giống 1 file server.. Trong PHP, biến có 3 phạm vi: •

Trang 2

PHP & MYSQL

Trang 3

TRANG WEB TĨNH

• Mọi người sử dụng nhận được kết quả giống nhau.

• Trang web được viết bằng HTML, chỉ thay đổi khi có

sự thay đổi của người xây dựng

• Khả năng tương tác yếu

• Webserver hoạt động giống 1 file server.

Web Server

URL yêu cầu

URL yêu cầu

HTML

HTML

Client

Network

Trang 4

TRANG WEB ĐỘNG

• Mỗi người sử dụng có thể nhận được nội dung khác nhau phụ thuộc vào kết quả chạy chương trình.

• Trang web viết bằng HTML + Ngôn ngữ lập trình

phía server Có thể được thay đổi bởi người sử dụng

• Khả năng tương tác mạnh

Web Server

URL yêu cầu

URL yêu cầu

Trang 5

MỘT SỐ CÔNG NGHỆ VIẾT WEB ĐỘNG

• Động phía client:

• JavaScript, VBScript được chạy ở client

• Applet (Chạy chương trình Java)

• Flash

Trang 6

MỘT SỐ CÔNG NGHỆ VIẾT WEB ĐỘNG

• Động phía server:

• Python

• Java Server Pages (JSP)

• ASP, ASP.NET: Microsoft

• Viết bằng VBScript, JavaScript chạy phía server

• Sử dụng web server IIS.

• PHP: Mã nguồn mở

• Ngôn ngữ lập trình PHP, chạy phía server.

• Webserver: Apache, IIS

• Bộ biên dịch: PHP

Trang 7

NGÔN NGỮ PHP

Trang 9

• Kết quả do đoạn lệnh PHP đưa ra được đưa vào

vị trí mà đoạn lệnh PHP đang chiếm chỗ.

Trang 10

ĐẶC ĐIỂM PHP

• Có khả năng hướng đối tượng

• Thông dịch

• Phân biệt chữ hoa/chữ thường

• Mỗi lệnh kết thúc bởi chấm phẩy (;)

Trang 11

CÚ PHÁP NGÔN NGỮ

Trang 13

• Phân biệt chữ hoa, chữ thường

• Bắt đầu bằng dấu đô la ($), tiếp ngay sau $ là tên biến.

• Tên biến bao gồm chữ cái, chữ số, dấu gạch nối (_)

và phải bắt đầu bằng chữ cái hoặc dấu gạch nối.

Trang 14

BIẾN ĐỘNG (BIẾN BIẾN)

Trang 16

• Biểu diễn: $a = 0.017

• Dạng khoa học: $a = 17.0E-03

Trang 17

KIỂU CHUỖI

• Giới hạn bởi nháy đơn (‘) hoặc kép (“)

• Chuỗi đặt trong nháy kép bị thay thế và

xử lý ký tự thoát Trong nháy đơn thì

không.

• Ví dụ:

$a = “Hello”;

$b = “$a world”; //tương đương $b=“Hello world”

$c = ‘$a world’; //$c=‘$a world’ (không thay đổi)

Trang 18

KIỂU CHUỖI (TIẾP)

biến vào giữa cặp ngoặc nhọn { }

$a = “He”;

$b = “ $a llo”; //lỗi vì PHP hiểu là

$allo

$c = “{$a}llo”; //đúng ($c = “Hello”)

gạch nối hoặc dấu chấm khi viết trong

chuỗi bắt buộc phải bao lại

Trang 19

KIỂU CHUỖI (TIẾP)

• Ký tự thoát: \

• Sử dụng để viết các ký tự đặc biệt trong chuỗi

Cần có chuỗi: Người ta nói “PHP rất tốt”

$a = “Người ta nói “PHP rất tốt””; //Sai

$a = “Người ta nói \“PHP rất tốt\””; //Đúng

• Một số ký tự phải sử dụng ký tự thoát: $, \, “

Trang 20

KIỂU CHUỖI (TIẾP)

• Kiểu tài liệu (heredoc):

• Cho phép viết 1 chuỗi trên nhiều dòng.

Trang 21

KIỂU LOGIC

Trang 22

• Có thể sử dụng chỉ số không liên tiếp

• Có thể thêm phần tử vào cuối mảng bằng cách bỏ chỉ số:

$a[0] = “Xin”;

$a[] = “Chào”; // $a[1]

$a[] = “Bạn”; // $a[2]

Trang 24

KIỂU MẢNG (TIẾP)

• Chỉ số mặc định:

$a=array(“xin”, “chào”, “bạn”);/*tương đương với

$a[]=“xin”;

$a[]=“chào”;

$a[]=“bạn”;*/

Trang 25

KIỂU MẢNG (TIẾP)

• Chỉ số mặc định với chỉ số đầu khác 0:

$a=array(5=>“xin”, “chào”, “bạn”);/*tương đương với

$a[5]=“xin”;

$a[]=“chào”;

$a[]=“bạn”;*/

Trang 26

KIỂU MẢNG (TIẾP)

• Khởi tạo mảng bằng hàm array()(tiếp)

• Chỉ số chuỗi:

$a=array(“ten”=>”Hồng”, “mau”=>”Đỏ”); /*Tương đương với:

Trang 27

ÉP KIỂU VÀ KIỂM TRA KIỂU

(int), (integer) Số nguyên

(real), (double), (float) Số thập phân (string) Chuỗi

(object) Đối tượng (bool), (boolean) Logic

(unset) NULL, tương tự

như gọi unset()

Trang 29

CÁC CẤU TRÚC ĐIỀU KHIỂN

Trang 32

switch ($bi n){ến= BTLG

case (giá_tr 1):ị_đúng các_l nh1; ệnh;

case (giá_tr 2):ị_đúng các_l nh2; ệnh;

default:

các_l nh_khác; ệnh; }

Trang 35

BREAK VÀ CONTINUE

do-while hoặc switch

trong vòng lặp, chuyển sang vòng lặp tiếp

Trang 37

HÀM TỰ TẠO (TT)

tên_hàm(gt1, gt2,… , gtn);

• Nếu hàm không có tham số, khi khai báo

hàm, gọi hàm vẫn phải giữ lại ()

• Để khai báo hàm với các tham số mặc định, khi khai báo ta đưa ngay giá trị tham số vào.

function tên_hàm(ts1=gt1, ts2=gt2,…)

Trang 38

PHẠM VI BIẾN

xác định Trong PHP, biến có 3 phạm vi:

• Local variables: biến cục bộ:

• Khởi tạo trong hàm

• có tác dụng từ khi khởi tạo đến hết hàm.

Trang 39

PHẠM VI BIẾN

• Global variables: Biến toàn cục:

• Khởi tạo ở ngoài hàm

• Có tác dụng từ khi khởi tạo đến hết file trừ

ở trong hàm.

• Để đưa 1 biến toàn cục vào trong hàm, sử dụng khai báo globals $biến1, $biến2,

…; hoặc mảng $GLOBALS

• Super Global Variables: Siêu toàn cục:

Một số biến có sẵn của PHP: $_SERVER,

$GLOBALS, $_SESSION

Trang 40

BIẾN TĨNH

Trang 41

CHÈN FILE

include(“địa_chỉ_file”);

require(“địa_chỉ_file”);

file PHP hiện tại Nếu file được chèn có lỗi thì chương trình sẽ hiển thị thông báo lỗi.

• Include: nếu file chèn vào có lỗi thì nó cảnh báo lỗi

và tiếp tục thực hiện file cho tới cuối cùng

• Require: nếu có lỗi thì nó báo lỗi và dùng tại đó,

không thực hiện câu lệnh tiếp theo nữa

Trang 43

• Các lớp được khai báo thông qua từ khóa class, các thuộc tính khai báo dưới dạng các biến còn các phương thức được khai báo dưới dạng các hàm

class tên_lớp {

//danh_sách_các biến, hằng, lớp

//danh_sách_các_hàm

}

Trang 44

CLASS (TIẾP)

• Khởi tạo một đối tượng thuộc một lớp với từ

khóa new

$tên_đối_tượng = new tên_lớp();

Để gọi hàm trong lớp ta sử dụng toán tử ->

$tên_đối_tượng->tên_hàm();

• Hoặc dùng toán tử :: để gọi đến một hàm hay

một biến (biến phải được khai báo static)

$tên_đối_tượng::tên_hàm();

$tên_đối_tượng::$tên_biến;

Trang 46

ĐỌC CÁC BIẾN TỪ HTML

• action=“chuỗi”: Địa chỉ trang web nhận dữ liệu (Đặt là địa chỉ trang PHP

Trang 47

PHƯƠNG THỨC GET (URL)

• Truyền dữ liệu (biến) qua URL:

• Các biến được truyền thành từng cặp

biến=giá_trị phân cách bởi dấu &

• Phân cách với địa chỉ trang ban đầu bởi

Trang 48

PHƯƠNG THỨC GET HOẶC URL (TT)

GET, dữ liệu được truyền qua URL:

• Tên các biến là tên đối tượng trên form

• Giá trị biến là giá trị NSD nhập vào đối tượng

biến a, b, c:

$a = $_GET[“a”];

$b = $_GET[“b”];

$c = $_GET[“c”];

Trang 49

TRUYỀN DỮ LIỆU THEO PHƯƠNG

THỨC POST

trong thân của yêu cầu HTTP

với các chỉ số là tên của đối tượng

trên form gửi đến.

• Ví dụ: Trong trang php đọc các biến a, b, c được submit từ form có method=“post”:

$a = $_POST[“a”];

$b = $_POST[“b”];

$c = $_POST[“c”];

Trang 50

SESSION

Trang 51

KHÁI NIỆM

• Cơ chế hoạt động của ứng dụng web là

cơ chế làm việc theo từng phiên giao

=> Sử dụng SESSION để lưu phiên làm

việc của 1 người dùng

Trang 52

• Hủy biến Session:

session_unregister(chuỗi_tên_biến); //Hủy 1 biến

session_unset(); //Hủy các biến đang hiệu lực

session_destroy(); //Hủy toàn bộ

Trang 54

CÁC HÀM LIÊN QUAN TỚI BIẾN

Trang 55

CÁC BƯỚC TRUY CẬP CSDL MYSQL

1 Tạo kết nối và lựa chọn CSDL

2 Xây dựng truy vấn và thực hiện truy

vấn

3 Xử lý kết quả trả về

4 Đóng kết nối đến server

Trang 56

BƯỚC 1: TẠO KẾT NỐI ĐẾN MÁY CHỦ, CSDL

tên CSDL ở tham số thứ 4

Trang 57

BƯỚC 2: XÂY DỰNG VÀ THỰC HIỆN TRUY VẤN

Trang 58

BƯỚC 2: XÂY DỰNG VÀ THỰC HIỆN

TRUY VẤN

Ví dụ - tiếp:

$sql="CREATE TABLE persons(Firstname

CHAR(30),Lastname CHAR(30),Age INT)";

Trang 59

BƯỚC 2: XÂY DỰNG VÀ THỰC HIỆN

$sql = "INSERT INTO Persons (Firstname,

Lastname, Age) VALUES ('".

$Ten[array_rand($Ten,1)]."', '".

$Ho[array_rand($Ho,1)]."',".rand(17,30).")"; mysqli_query($con, $sql);

//Hàm array_rand(x,y) trả về y (bất kỳ) chỉ số của mảng x.

Trang 60

BƯỚC 2: XÂY DỰNG VÀ THỰC HIỆN

TRUY VẤN

Ví dụ - tiếp:

$result = mysqli_query($con,"SELECT * FROM Persons");

Trang 61

BƯỚC 3: XỬ LÝ KẾT QUẢ TRẢ VỀ

• Các hàm cần thiết (trong trường hợp câu

lệnh SQL là DELETE, UPDATE…):

• mysqli_affected_rows(): Số bản ghi bị tác động bởi lệnh mysql_query liền trước.

• mysqli_error(): Thông báo lỗi (nếu có)

• mysqli_errno(): Mã lỗi

Trang 63

$i++;

}

Trang 64

BƯỚC 4: ĐÓNG KẾT NỐI ĐẾN SERVER

mysql_close($biến_kết_nối)

Trang 65

- Truy vấn đến CSDL để đưa ra bảng danh sách các

thành viên không phải là admin (quyen > 1)

- Xây dựng trang truy vấn tất cả các sản phẩm có giá

<1000

Ngày đăng: 20/12/2017, 11:23

TỪ KHÓA LIÊN QUAN