slide1
Download
Skip this Video
Download Presentation
PHP

Loading in 2 Seconds...

play fullscreen
1 / 102

PHP - PowerPoint PPT Presentation


  • 258 Views
  • Uploaded on

PHP. Bài 1 Giới thiệu. Giới thiệu Cài đặt và cấu hình PHP Các khái niệm cơ bản trong PHP. Giới thiệu. Các ngôn ngữ sử dụng trong Web Ngôn ngữ định dạng: html, xml Ngôn ngữ lập trình: Phía client: Javascript, VBScript Phía server: PHP, ASP, JSP, …. Giới thiệu PHP.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PHP' - lexi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
b i 1 gi i thi u
Bài 1 Giớithiệu
  • Giớithiệu
  • Càiđặtvàcấuhình PHP
  • Cáckháiniệmcơbảntrong PHP
gi i thi u
Giớithiệu
  • Các ngôn ngữ sử dụng trong Web
    • Ngôn ngữ định dạng: html, xml
    • Ngôn ngữ lập trình:
      • Phía client: Javascript, VBScript
      • Phía server: PHP, ASP, JSP, …
gi i thi u php
Giới thiệu PHP
  • PHP viết tắt của Personal Home Page
  • Là 1 server script dùng để xây dựng các ứng dụng web
  • Ra đời năm 1994
  • Là phát minh của Rasmus Lerdorf
c i t php
Cài đặt PHP
  • Có thể cài đặt riêng lẽ PHP bằng cách download gói PHP từ http://php.net/downloads.php và sau đó cài đặt, cấu hình Web server (IIS hay Apache).
  • Đễ dễ dàng hơn sử dụng gói cài đặt XAMPP http://www.apachefriends.org/en/index.html

(chọn xampp Installer version mới nhất là 1.7.4 tên file là xampp-win32-1.7.4-VC6-installer.exe)

c i t xampp
Cài đặt XAMPP
  • Tắt dịch vụ IIS (nếu máy có cài IIS)
  • Cài xampp vào 1 thư mục (VD: C:\xamp)
  • Vận hành Apache, PHP, MySQL

(chạy C:\xampp\ ampp-control.exe)

  • Start Apache và MySQL
  • Test: http://localhost
test apache
Test Apache
  • http://localhost/
test php
Test PHP
  • Mở notepad  nhập

  • Lưu lại với tên là test.php trong thư mục cài đặt xamp\htdocs.

Ví dụ: C:\xampp\htdocs\test.php

  • http://localhost/test.php
php c b n tt
PHP cơ bản (tt)
  • Cácđoạn script PHP cóthểđặtlẫnlộnvới HTML.
  • Vídụ:

Xinchào

Trongđó làmã PHP, phầncònlạilà HTML

Hay

$ten ="Bằng";

echo "Xinchào $ten"; ?>

b i 2 php c n b n
Bài 2 PHP cănbản
  • Cúpháp PHP
  • Cáckiểudữliệu
  • Hằngsố
  • Mảng
  • Chuyểnkiểu
c ph p php
Cú pháp PHP
  • Tươngtựvớicúpháptrongngônngữ C
  • Mộtvàiđiểmlưu ý trong PHP
    • Cuốicâulệnhphảicódấu ;
    • Biếntrong PHP bắtđầubằng $
    • Khaibáobiếnkhôngcókiểudữliệu
    • Nêncógiátrịkhởitạochobiến
    • Phânbiệtchữhoavàchữthường
php c n b n tt
PHP căn bản (tt)
  • Ghichútrong PHP
    • Sửdụng // hay # đểghichú 1 dòng
    • Sửdụng /* */ đểghichúnhiềudòng
  • Vídụ

//Gángiátrịchobiến $ten

$ten ="Bằng";

echo "Xinchào $ten";

?>

php c n b n tt1
PHP căn bản (tt)
  • Xuất kết quả ra trang web
    • echo (string) hay echo string.

Với string là 1 chuỗi

Ví dụ

  • Khai báo biến
    • $ten_bien [= gia_tri_khoi_tao];
ki u d li u
Kiểudữliệu
  • Cáckiểudữliệutrong PHP
    • Boolean
    • Integer
    • Float
    • String
    • Object
    • Array
ki u d li u tt
Kiểudữliệu (tt)
  • Épkiểu
    • (kiểudữliệu)
    • Hay dùngsettype(biến, kiểudữliệu)
  • Vídụ:

$x=(int)(10/3);

ki u d li u tt1
Kiểudữliệu (tt)
  • Kiểmtrakiểudữliệu
    • is_array($x): kiểmtra $x cóphảilàmảngkhông?
    • is_bool($x): kiểmtra $x cóphảikiểubooleankhông?
    • is_callable($x): kiểmtranội dung biến $x cógọinhư 1 hàmđượckhông?
    • is_float($x): kiểmtra $x cóphảikiểu float không?
    • is_int($x): kiểmtra $x cóphảikiểu integer không?
    • is_integer($x): tươngtựis_int()
    • is_long($x): kiểmtra $x cóphảikiểu long không?
    • is_null($x): kiểmtra $x cóchứadữliệu hay không?
    • is_numberic($x): kiểmtra $x cóphảilàkiểusốkhông?
    • is_object($x): kiểmtra $x cóphảikiểu object không?
    • is_real($x): kiểmtra $x cóphảikiểu real không?
    • is_string($x): kiểmtra $x cóphảikiểu string không?
slide27
Mảng
  • Khaibáo

$arr = array(v1,v2,…,vn);

Vídụ: $arr=array(1,2,3);

hay

$arr = array(n);

$arr[0] = v1; $arr[1] = v2; …; $arr[n-1] = vn;

Với v1,v2,…,vnlàcácgiátrịkhởitạo

object
Object

class C

{

public/protected/private $variable;

function C() //PHP 4

{ echo "Đây làphươngthứckhởitạocủalớp C"; }

function __construct(){} //PHP5

function F()

{ echo $this->variable; }

function __destruct()//PHP 5

}

$c=new C; //tạo 1 đốitượnglớp C

$c->F(); // gọiphươngthức F củalớp C

?>

h ng s
Hằngsố
  • Địnhnghĩa hằng

define("pi",3.14);

  • Gọi hằng

echo "pi = ".pi;

  • Kiểmtra hằng

Để kiểmtrahằngsố x cótồntạichưathìdùnghàm define("x"). Với x là tên hằng số

Ví dụ: define("pi");

b i 3 ph p to n v bi u th c c i u ki n
Bài 3 Phéptoánvàbiểuthứccóđiềukiện
  • Toántử
  • Biểuthứccóđiềukiện
  • Vònglặp
ph t bi u c i u ki n
Phátbiểucóđiềukiện
  • Cúpháp

if (điềukiện)

{ //khối lệnh 1}

else

{//khối lệnh 2}

  • Cácphátbiểu if cóthể lồng nhau
  • Vídụ: if (…) else {if(…) else {…}}
v d if
Vídụ if
  • Vídụnàydùngđể so sánh 2 số

$a=7; $b=9;

if ($a==b)

echo "a và b bằng nhau";

else

if($a>$b)

echo "a lớn hơn b";

else

echo "a nhỏ hơn b";

?>

switch case
Switch case

switch (exp)

{

case giá_trị 1 {khốilệnh 1; break;}

case giá_trị 2 {khốilệnh 2; break;}

case giá_trị n {khốilệnh n; break;}

default: {khốilệnh n+1; break;}

}

v d switch case
Vídụ switch…case

switch($thu)

{

case 1: {echo "Chủ nhật";break;}

case 2: {echo "Thứ 2";break;}

case 3: {echo "Thứ 3";break;}

case 4: {echo "Thứ 4";break;}

case 5: {echo "Thứ 5";break;}

case 6: {echo "Thứ 6";break;}

case 7: {echo "Thứ 7";break;}

default: echo "Thứ không đúng";

}

v ng l p for
Vònglặp For
  • Cúpháp

for(giá_trị_khởi_tạo; điều_kiện_dừng; bước nhảy)

{

khốilệnh

}

  • Vídụ:

for($i=0;$i<10;$i++)

echo $i. “ “; //xuấtcácsốtừ 0 đến 9

v ng l p while
Vònglặp while
  • Cúpháp

while(điềukiệnlặp)

{

khốilệnh

}

  • Vídụ:

$i=0;

while($i<10)

echo $i++. “ “; //xuấtcácsốtừ 0 đến 9

v ng l p do while
Vònglặp do … while
  • Cúpháp

do

{

khối lệnh

} while(điềukiệnlặp)

  • Vídụ:

$i=0;

do { echo $i++. “ “;} //xuấtcácsốtừ 0 đến 9

while($i<10)

truy xu t m ng
Truy xuất mảng
  • Giả sử truy xuất mảng $a có các cách sau:
    • for($i=0; $i

{//khối lệnh xử lý}

    • foreach($a as $value) {}
    • foreach($a as $key=>$value) {}
    • while(list($key,$value) =each($a)){}
slide43
$_POST
  • $_POST dùngđểtruyxuấtgiátrịcủacácđốitượngnhậpliệutrên form submit trướcđógửitớibằngphươngthức POST

Xinchào An

//echo $_POST[‘txtName ‘]

An

POST

txtName

form.html

slide44
$_GET
  • $_POST dùngđểtruyxuấtgiátrịcácthamsốcủaquerystring

Xinchào An

//echo $_GET[‘ten ‘]

An

…/xuly.php?ten=An

GET

form.html

b i 5 h m
Bài 5Hàm
  • Khai báo hàm

function tên_hàm($p1,$p2,...,$pn)

{

//khối lệnh

return value;

}

  • Nếukhôngcógiátrịtrảvềthìhàmđượcxemlàthủtục
h m tt
Hàm (tt)
  • Thamsốcógiátrịmặcđịnh

function tên_hàm($p1,$p2,...,$pn= v)

{

khốilệnh

return value;

}

b i 6 session
Bài6Session
  • Session dùngđểlưutrữphiênlàmviệccủamộtngườidùngtừtrangnàyđếntrangkiatrongcùng 1 web site.
  • Khởitạo session bằngcáchgọisession_start() hay gángiátrịcho session hay cấuhìnhtrong php.ini nhưsau: session.auto_start = 1
  • Session mấtđikhingườisửdụnghủy session, thờigiansốngcủa session đãhết hay ngườidùngđóngtrìnhduyệt.
session tt
Session (tt)
  • Gán session

[session_register(name);]

$_session["name"] = value;

  • Lấy giá trị session

$_session["name"]

session tt1
Session (tt)
  • Kiểmtra session đãđượcđăngký hay chưa?

session_is_registered(session_name);

  • Hủy session

session_unregister(session_name);

Hay unset($_session["name"]);

cookie
Cookie
  • Lưuthông tin trên client
  • Gángiátrịcho cookie

setcookie(name, value, time_to_expire, path, domain, security setting);

VD: setcookie("my_cookie", "my_id",time()+(60*60*24*30),"/",".mydomain.com", 0)

  • Truy xuất giá trị cookie

$_COOKIE["cookie_name"];

b i 7 x l chu i ng y gi
Bài 7 Xử lý chuỗi, ngày giờ
  • Địnhdạngchuỗixuất với hàm printf()
  • %: khôngyêucầuthamsố
  • b: số integer hệsố 2
  • c: số integer hiệnthựcdướidạngmả ASCII
  • d: số integer hệsố 10
  • u: số integer hệsố 10 khôngdấu
  • e: số logic như 1.2e+2
  • f: sốthực
  • s: chuỗi
  • x: số integer hệ 16 chữthường
  • X: số integer hệ 16 chữhoa
slide52
Ví dụ:
    • printf(“Tên tôi là %s”,$s);
    • printf(“10 trong hệ nhị phân là %b”,10); //1010
    • printf(“VD số thập phân có 2 số lẻ %0.2f”,12.345) //12.34
    • printf(“số 11 trong hệ thập lục phân là %x”,11) //b
m t s h m x l chu i
Một số hàm xử lý chuỗi
  • strtoupper(string $s): chuyển thành chữ hoa
  • strtolower(string $s): chuyển thành chữ thường
  • ucfirst(string $s): ký tự đầu là chữ hoa
  • ucwords(string $s): ký tự đầu mỗi từ là chữ hoa
  • substr(string $s, int start [, int length]): cắt lấy chuỗi con length ký tự từ start. Lưu ý: start và length mà là số âm thì tính từ bên phải chuỗi.
  • strtok(string $s, string $split): chia chuỗi $s thành nhiều phần nhỏ dựa vào $split (chỉ trả về 1 phần tử)
m t s h m x l chu i tt
Một số hàm xử lý chuỗi (tt)
  • explode(string $delimiter, string $s [, int $limit ]): chia $s thành nhiều phần dựa vào $delimiter. Nếu $limit là số dương thì hàm trên trả về tối đa $limit phần tử, nếu âm thì tất cả phần tử ngoại trừ các phần tử từ $limit đến cuối
  • implode(string $separator, array $a): ghép các phần tử trong $a và thêm $separator vào giữa các phần tử.
ng y gi trong php
Ngày giờ trong PHP
  • getdate() trả về ngày giờ hiện tại (array)
  • Nếu chỉ số mảng là:
  • seconds :
  • minutes
  • hours
  • mday: day of month 1-31
  • wday: day of week 0-6
  • mon: month of year 1-12
  • year: năm
  • yday: date of year
  • weekday: thứ dạng chữ
  • month: trả về tháng dạng chữ
ng y gi trong php tt
Ngày giờ trong PHP (tt)
  • Nếu thay hàm getdate() bằng hàm date() thì tham số của hàm date() là:
  • s: giay
  • i: phút
  • h: giờ 0-12
  • H: giờ 0-24
  • d: ngày trong tháng 1-31
  • l: thứ trong tuần dạng chữ
  • w: thứ 0-6
  • m: tháng 1-12
  • M: tháng dạng chữ
  • y: năm 2 số, Y năm 4 số
  • z: ngày trong năm
mysql
MySQL
  • Giới thiệu
    • MySQL là một hệ quản trị CSDL quan hệ - RDBMS (Ralational Database Management System)
    • Mã nguồn mở (free)
    • Ra đời 1996 bởi MySQL AB  SUN Microsystem (2008)  Oracale (2010)
    • http://www.mysql.com/
b i 8 mysql
Bài 8 MySQL
  • Tạo CSDL
    • create database database_name
  • Sử dụng CSDL
    • use database_name
  • Tạo bảng

CREATE TABLE table_name

( column_name1 data_type [options],column_name2 data_type [options],....

)

c c lo i table
Các loại table
  • ISAM:
    • chỉ có từ phiên bản 3.23 trở về trước.
    • Loại table này được lưu trên đĩa với 3 file
      • .frm: lưu định nghĩa bảng
      • .ISD: lưu dữ liệu
      • .ISM: lưu chỉ mục (index)
c c lo i table tt
Các loại table (tt)
  • MyISAM:
    • Là loại mặc định
    • Được lưu trên đĩa, với 3 file
      • .frm: lưu định dạng
      • MYD: lưu dữ liệu
      • .MYI: lưu chỉ mục
c c lo i table tt1
Các loại table (tt)
  • BDB
    • Phiên bản 5.1 không còn loại này
    • Lưu trên đĩa với 2 file
      • .frm: lưu định dạng
      • .db chứa dữ liệu và index
c c lo i table tt2
Các loại table (tt)
  • HEAP
    • Lưu trong bộ nhớ
      • .frm: lưu định dạng
      • .db chứa dữ liệu và index
ki u d li u trong mysql
Kiểu dữ liệu trong MySQL
  • Kiểu số
    • tinyint: 1 byte
    • smallint: 2 byte
    • mediumint: 3byte
    • int: 4 byte
    • bigint: 8 byte
  • Kiểu số thực
    • Float: 4 byte
    • Double: 8 byte
ki u d li u trong mysql tt
Kiểu dữ liệu trong MySQL (tt)
  • Kiểu chuỗi
    • char và varchar: tối đa 255 ký tự
    • text: tối đa 216-1 ký tự
    • mediumtext: tối đa 224-1 ký tự
    • longtext: tối đa 232-1 ký tự
  • Kiểu ngày giờ
    • Date: trình bày dưới dạng yyyy-mm-dd
    • Time: trình bày dưới dạng hh:mm:ss
    • Datetime: trình bày dưới dạng yyyy-mm-dd hh:mm:ss
c c ph t bi u sql
Các phát biểu SQL
  • Select

SELECT

[FROM ]

[WHERE ]

[GROUP BY ]

[HAVING <điều kiện của GROUP BY>]

[ORDER BY ]

[LIMIT FromNumber , ToNumber]

m nh where
Mệnh đề where
  • Các phép so sánh
    • >
    • <
    • >=
    • <=
    • =
    • != : khác
    • <> : khác
  • Các phép logic
    • and
    • or
    • Not
    • Not in
    • Between…and…
    • Like
    • Not like
    • in
c c h m th ng d ng trong m nh group by
Các hàm thông dụng trong mệnh đề GROUP BY
  • AVG
  • MIN
  • MAX
  • COUNT
  • SUM
  • Cú pháp

select …, tên_hàm(tham số)

from…

[where…]

group by …

c c h m x l chu i trong mysql
Các hàm xử lý chuỗi trong MySQL
  • char(i): trả về ký tự có mã ASCII là i
  • UPPER(s): chuyển chuỗi s thành chữ HOA
  • Lower(s): chuyển chuỗi s thành chữ thường
  • Len(s): trả về chiều dài chuỗi
  • Ltrim(s): loại bỏ khoảng trống bên trái
  • Rtrim(s): loại bỏ khoảng trống bên phải
  • Left(s,n): trả về n ký tự đầu trong chuỗi s
  • Right(s,n): trả về n ký tự cuối trong chuỗi s
  • Instr(s1,s2): trả về vị trí đầu của s1 trong s2
c c h m x l th i gian trong mysql
Các hàm xử lý thời gian trong MySQL
  • CurDate(): ngày tháng năm hiện tại
  • CurTime(): giờ phút giay hiện tại
  • Period_Diff(d1,d2): khoảng thời gian giữa 2 ngày d1 và d2
  • Dayofmonth(d): ngày thứ mấy trong tháng
  • Các hàm toán học
    • Sqrt(n): căn bậc 2 của n
    • Round(n,i): làm tròn số n tại vị trí thứ i
ph t bi u insert
Phát biểu INSERT
  • Thêm dữ liệu từ giá trị cụ thể

INSERT INTO []

Values (DataValue list)

  • Ví dụ

insert into sanpham(MaSp,MaNSX,TenSP,Gia, NgayCapNhat,SLTonKho,MaLoai) values('DT0032','NSX009','Samsung I900',3900000,'2011-1-16',10,'L01')

th m d li u tt
Thêm dữ liệu (tt)
  • Thêm dữ liệu từ bảng khác

INSERT INTO []

Select [ColumnName list]

From

Where

ph t bi u update
Phát biểu UPDATE
  • Cập nhật từ giá trị cụ thể

Update

Set =,[=]

[where ]

  • Ví dụ
    • Update table sanpham set gia=1000 where maSP=‘SP01’;
  • Cập nhật từ giá trị lấy trong bảng khác

Update

Set =

Where

  • Ví dụ

Delete from sanpham

where MaSP=‘SP01’

k t n i d li u t nhi u b ng
Kết nối dữ liệu từ nhiều bảng
  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
inner join
INNER JOIN
  • Cú pháp

SELECT col1, col2,…

FROM Table1

INNER JOIN Table2

ON Table1.coli = Table2.coli

  • Phát biểu trên tương đương với

SELECT col1, col2,…

FROM Table1, Table2

WHERE Table1.coli = Table2.coli

v d inner join
Ví dụ INNER JOIN

Employees

Orders

SELECT Employees.Name, Orders.ProductFROM EmployeesINNER JOIN OrdersON Employees.Employee_ID = Orders.Employee_ID

left join
LEFT JOIN
  • Cú pháp

SELECT col1, col2,…

FROM Table1

LEFT JOIN Table2

ON Table1.coli = Table2.coli

v d left join
Ví dụ LEFT JOIN

Employees

Orders

SELECT Employees.Name, Orders.ProductFROM EmployeesLEFT JOIN OrdersON Employees.Employee_ID = Orders.Employee_ID

right join
RIGHT JOIN
  • Cú pháp

SELECT col1, col2,…

FROM Table1

RIGHT JOIN Table2

ON Table1.coli = Table2.coli

v d right join
Ví dụ RIGHT JOIN

Employees

Orders

SELECT Employees.Name, Orders.ProductFROM EmployeesRIGHT JOIN OrdersON Employees.Employee_ID = Orders.Employee_ID

t o csdl m i v i phpadmin
Tạo CSDL mới với PHPAdmin
  • Nhập tên database vào ô Create new database
  • Chọn bảng mã trong ô Collation
  • Click Create
mysql administrator ma
MySQL Administrator (MA)
  • Download tại http://dev.mysql.com/downloads/gui-tools/5.0.html
  • Đăng nhập
t o csdl v i ma
Tạo CSDL với MA
  • 1. Click vào Catalog
  • 2. Right click vào (2)
  • 3. Chọn Create New Schema
  • 4. Nhập tên CSDL
  • 5. OK

1

2

php mysql
PHP & MySQL
  • Kết nối CSDL
  • Truy vấn dữ liệu
  • Cập nhật dữ liệu
k t n i csdl
Kết nối CSDL
  • Tạo connection

mysql_connect (server, user_name, password)

  • Chọn CSDL

mysql_select_db(database, connection);

  • Ví dụ

$cnn = mysql_connect ("localhost", "root", "")

or die ("Could not connect to MySQL Database");

mysql_select_db("TestDB", $cnn);

?>

truy v n csdl
Truy vấn CSDL
  • Sau khi tạo connection để truy vấn dữ liệu sử dụng hàm mysql_query()
  • Ví dụ:

$stSQL ="select * from tblShips";

$result = mysql_query($stSQL, $cnn);

  • Đọc từng mẫu tin

while ($row = mysql_fetch_array ($result))

{ //xử lý $row }

c p nh t d li u
Cập nhật dữ liệu
  • Để thêm, xóa sửa dữ liệu, thay câu lệnh SQL select trong biến $stSQL bằng các lệnh INSERT, DELETE, UPDATE
  • Ví dụ thêm 1 nhân viên vào bảng Employees như sau:

$sql="insert into Employees values(‘05','Tom')";

$result = mysql_query($sql,$cnn);

ng k t n i
Đóng kết nối
  • Đóng connection sau khi thao tác với CSDL bằng hàm mysql_close(connection)
  • Ví dụ:

mysql_close($cnn)

php dreamweaver
PHP & Dreamweaver
  • Tạo connection trong DW
    • Phải tạo site
    • Vào panel Database click + chọn MySQLConnection
    • Điền các thông tin:
      • Connection name
      • MSQL server
      • User name
      • Password
      • Database:
slide93
Tạo recordset
    • Chọn Bindings panel
    • Click +
    • Điền các thông tin
dynamic data
Dynamic data
  • Đổ dữ liệu vào trang (Dynamic text)
    • Drag field có trong recordset vào vị trí phù hợp
    • Ví dụ
  • Dynamic table
    • Chọn panel Insert chọn data group  Dynamic table
    • Đối với Dynamic text field, Dynamiccheckbox, Dynamic Radio Group, Dynamic Select List phải tạo các đốitượng tương ứng trước
repeat region
Repeat region
  • Chọn nội dung cần lặp lại
  • Click chọn Repeat region
  • Chọn recordset chứa dữ liệu muốn lặp lại
  • Chọn số lần lặp
master detail pages
Master – Detail pages
  • Tạo 1 trang chính và 1 trang chi tiết
  • Chọn Master detail page set
x a d li u
Xóa dữ liệu
  • Phải tạo form dùng để xóa bằng tay
  • Chọn Insert panel  chọn Data group  Delete record
ad