Professional Documents
Culture Documents
05 - UD CSDL Tren Web
05 - UD CSDL Tren Web
LP TRNH WEB
L nh Thanh B mn Mng v Truyn thng My tnh Khoa Cng ngh Thng tin Trng i hc Cng ngh, HQGHN E-mail: thanhld@vnu.edu.vn, thanhld.vnuh@gmail.com Mobile: 0987.257.504
Bi 5
Ni dung
M hnh ba tng Truy vn d liu Truy vn theo d liu ngi dng Ghi d liu
Phn 1
M hnh ba tng
M hnh ba tng
Tng khch: trnh din v tng tc vi ngi dng Tng gia: thc hin cc logic ca ng dng Tng CSDL: bao gm h qun tr CSDL, CSDL ca ng dng
L nh Thanh, Bi ging Lp trnh web.
Tng khch
Thng l trnh duyt web, nhng c th l web crawler, web proxy Gi HTTP Request ln Web server v nhn HTTP Response t Web server Trnh din ni dung web v tng tc vi ngi dng
L nh Thanh, Bi ging Lp trnh web.
Web client
M ngun trang web c th hin bng HTML, CSS javascript Hin th trn mn hnh my tnh Web Browser
Gi yu cu v nhn ni dung (m ngun HTML, CSS, javascript) trang web t Web Server. Phin dch m ngun trang web v th hin kt qu trn mn hnh.
Web client/server
HTTP Yu cu Web Client/Browser Microsoft Internet Explorer, Netcapse Navigator, Mozilla FireFox, Google Chrome p ng
Web Server
IIS, Apache, Tomcat, Sambar, Xitami
Tng gia
Cc trang web/kch bn c vit bng cc ngn ng kch bn khc nhau, v HTML Web server
Nhn yu cu t web client Yu cu cc chng trnh dch chy cc kch bn/trang ng sinh ra ni dung web (HTML, javascript, css) Gi ni dung web cho web client
Tng CSDL
CSDL cho ng dng H qun tr CSDL qun l CSDL ca ng dng
Nhn truy vn t cc chng trnh dch tng gia, thao tc CSDL v tr kt qu cho chng trnh yu cu
V d mu
Qun l sinh vin vi cc chc nng sau:
Hin th danh sch sinh vin. Thc hin phn trang danh sch. Cho ngi dng ty chnh s dng/trang Thm, cp nht, xa sinh vin.
Phn 2
Kt ni CSDL MySQL
mysql_connect(address, username, password); mysql_select_db(database_name) or die(mysql_error());
V d
$ret = mysql_connect("localhost", "root", rt"); if ($ret) { //Ket noi thanh cong mysql_select_db("thuchanh"); //Chon CSDL . } else { echo "Khng kt ni c CSDL"; exit(); }
L nh Thanh, Bi ging Lp trnh web.
X l kt qu truy vn
$rs = mysql_query("select from "); if (!$rs) { echo mysql_error(); exit(); } while ($row = mysql_fetch_array($rs)) { $field_value = $row*field_name+; }
Cp nht CSDL
$count = mysql_query($sql); $sql: Lnh insert, update, delete $count: S bn ghi c cp nht
Phn 3
PHP function clean($input, $maxlength) { $input = substr($input, 0, $maxlength); $input = EscapeShellCmd($input); return ($input); }
L nh Thanh, Bi ging Lp trnh web.
} else {
//X l an ninh d liu nhp //Thc hin truy vn v xut HTML theo d liu truy vn
Cc tham s
S dng trn mt trang: rowsPerPage Trang hin ti: currentPage
}
L nh Thanh, Bi ging Lp trnh web.
}
L nh Thanh, Bi ging Lp trnh web.
}
L nh Thanh, Bi ging Lp trnh web.
Phn 4
Ghi vo CSDL
else
showerror( );
Kin trc
Trang danh sch ----------------------Hin th thng bo (nu c) Hin th danh sch phn trang Chn Thm Chn Sa Chn Xa Form method=POST hanhdong, ma, Form cp nht -----------------------iframe hoc AJAX c d liu i tng cn sa t CSDL Form to giao din nhp, sa method=POST hanhdong, ma, Kim tra hp thc pha client thongbao= lib.inc db.inc
L nh Thanh, Bi ging Lp trnh web.
Kim tra -----------------------Kim tra hp thc pha server Kim tra trng m
util.inc
auth.inc
Upload tp v lu vo CSDL
To form upload tp <form enctype="multipart/form-data" action=page.php" method="post">
<input name="userfile" type="file"> <br><input type="submit">
</form>
Upload tp v lu vo CSDL
Nhn tp // Tp c upload? if (is_uploaded_file($userfile)) {
// M tp $file = fopen($userfile, "r"); // c ni dung $fileContents = fread($file, filesize($userfile)); // X l cc k t c bit bng cch thm \ trc chng $fileContents = AddSlashes($fileContents);
Upload tp v lu vo CSDL
Lu ni dung tp vo CSDL
$insertQuery = "INSERT INTO TableName VALUES (..., \.$fileContents . "\")";
c v hin th tp nh lu vo CSDL
Tp imgdisp.php hin th nh
$data = @ mysql_fetch_array($result); if (!empty($data["map"])) {
// Xut d liu ra GIF MIME header("Content-Type: image/gif"); // Xut d liu nh echo $data["map"];
Tp s dng
echo <img src=\imgdisp.php?p=" . $p. "\">";
L nh Thanh, Bi ging Lp trnh web.
Vn truy cp ng thi
Nhiu ngi truy cp CSDL ng thi c th dn n cc tnh hung sau:
Mt cp nht: Ngi dng A c gi tr t CSDL. Ngi dng B cng c gi tr t CSDL v cp nht ngay lp tc. Ngi dng A cp nht, ghi gi tr ca ngi B c sai: Ngi dng A cp nht gi tr. Ngi dng B c gi tr cp nht. Ngi dng A undo li thao tc => Gi tr B c c khng cn ng Tnh tng sai: Ngi dng A ang tnh tng th ngi dng B thay i gi tr mt s mc c gi tr khng th lp: A c gi tr, B thay i gi tr, A c li thy gi tr khc
L nh Thanh, Bi ging Lp trnh web.
X l cp nht ng thi
Kha bng cn thao tc
Kiu kha READ: cho ngi dng khc c c nhng khng c ghi Kiu kha WRITE: khng cho ngi dng khc c hay ghi
V d X l cp nht ng thi
//Kha cc bng cn thao tc $query = "LOCK TABLES items READ, orders WRITE, customer READ"; if (!mysql_query($query, $connection)) showerror(); // Thc hin truy vn $query = "SELECT SUM(price*qty) from FROM items, orders, customer WHERE customer.cust_id = orders.cust_id AND orders.order_id = items.order_id AND items.cust_id = orders.cust_id AND orders.order_id = $orderId AND customer.cust_id = $custId"; if (!($result = mysql_query($query, $connection))) showerror( ); $row = mysql_fetch_array($result); //ri cp nht if ($row["SUM(price*qty)"] > $minimum) { $query = "UPDATE orders SET discount = $discount WHERE cust_id = $custId AND order_id = $orderId"; if (!mysql_query($query, $connection)) showerror(); } // M kha cc bng $query = "UNLOCK TABLES";
L nh Thanh, Bi ging Lp trnh web.
Tip theo