LẬP TRÌNH WEB ĐỘNG VỚI PHP/ MYSQL - PHẦN 3 - TỐNG PHƯỚC KHẢI - 2 ppt

9 318 0
LẬP TRÌNH WEB ĐỘNG VỚI PHP/ MYSQL - PHẦN 3 - TỐNG PHƯỚC KHẢI - 2 ppt

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

Thông tin tài liệu

$element = <<<EOQ <textarea name="$name" cols="$cols" rows="$rows" wrap="$wrap">$value</textarea> EOQ; Như ví dụ trên các bạn thấy không cần phải hao phí nhiều dấu suyệt (\), chúng ta vẫn có thể có được một chuỗi chứa các ký hiệu dạng biến không có tầm ảnh hưởng ra bên ngoài. Các phần tử mảng sử dụng khoá liên hợp (bạn sẽ tìm hiểu ở phần tiếp theo) không thể sử dụng Here Doc được. Ví dụ sau đây sẽ xuất hiện lỗi: $array = array ("fname"=>"jay", "lname"=>"greenspan"); $str = <<<EOQ print my string $array["fname"] EOQ; Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Mảng (array) trong PHP Mảng là một dạng của biến trong đó có chứa nhiều giá trò. Ví dụ một dạng đơn giản của mảng là tháng: $thang = array("Gieng", "Hai", "Ba", "Bon", "Nam", "Sau", "Bay", "Tam", "Chin", "Muoi", "Muoi Mot", "Muoi Hai"); Mảng này có chứa 12 phần tử, và bạn có thể đònh vò chúng bằng thứ tự ở trong mảng, bắt đầu bằng vò trí 0. Do đó lệnh echo $thang[0] sẽ cho ra là Gieng và echo $thang[11] sẽ cho ra Muoi Hai. Để truy xuất được tất cả các phần tử trong mảng, bạn có thể tính ra chiều dài của mảng và thực hiện vòng lặp: for ($i=0; $i<count($months); $i++) { echo $thang[$i] . "<br>\n" ; } Chi tiết về vòng lặp sẽ được trình bày ở các phần sau. Bạn có thể gán giá trò vào mảng với một phép toán đơn giản như sau: Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com $dogs = array(); $dogs[0] = "kiki"; $dogs[1] = "lulu"; Nếu bạn không xác đònh chỉ số bên trong ngoặc vuông thì giá trò sẽ được gán cho phần tử cuối mảng. Trong ví dụ sau "nana sẽ được gán vào $dogs[2]: $dogs[] = "nana"; Mảng liên hợp Cũng giống như các ngôn ngữ khác, PHP tận dụng khả năng của mảng liên hợp (associative array). Có thể bạn cảm thấy mới mẻ với khái niệm này. Để tôi nói sơ qua một chút: Mỗi phần tử trong mảng liên hợp mang khoá(key) riêng. Các phần tử của mảng sẽ được truy cập thông qua khoá. Điều này giống như cách thức truy xuất trong các query khi làm việc với Database. Trong ví dụ sau, bạn sẽ thấy các phần tử first_name, last_name, e-mail sử dụng các key: $person = array ( "first_name" => "Jay", Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com "last_name" => "Greenspan", "e-mail" => "jgreen_1@yahoo.com" ); Nếu như bạn muốn thêm phần tử vào mảng, bạn có thể gán tiếp một giá trò khác. Dòng lệnh sau sẽ thêm một số nguyên vào trong mảng, do đó mảng này sẽ chứa tất cả 4 phần tử. $person["age"] = 32; Nếu bạn muốn truy cập cả khoá và giá trò của một mảng liên hợp, bạn sẽ dùng list() = each() như sau: while (list($key, $value) = each($person)) { echo "<b>key :</b> $key, value = $value <br>\n"; } Các chương sau này tôi sẽ nói kỹ về list() = each() một cách chi tiết hơn. Trên cơ bản each() truy xuất được cả khoá và giá trò của phần tử trong mảng. List() giữ các giá trò Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com và gán vào $key và $value. Tiến trình này tiếp tục cho đến khi mỗi phần tử trong mảng được truy cập. Nếu bạn muốn duyệt qua hết mảng bạn cần phải sử dụng reset($person). Nếu bạn chỉ muốn sử dụng giá trò của phần tử trong mảng mà thôi hoặc bạn muốn sử dụng mảng không liên lợp và vẫn muốn sử dụng cấu trúc list()=each() bạn phải thực hiện như sau: while (list( , $value) = each($person)) { echo "value = $value <br>\n"; } Hoặc bạn chỉ muốn truy xuất khoá, bạn sẽ làm như sau: while (list($key) = each($person)) { echo "key = $key <br>\n"; } Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Hãy nhận đònh về mảng trong PHP như sau: - Tất cả các mảng trong PHP đều là mảng liên hợp. Tại vì sao? Bởi vì những mảng không phải là liên hợp thì PHP cũng sẽ tự động gán cho chúng các key. Ví dụ: $x= array ("pug", "poodle"), PHP sẽ tự gán cho $x các khoá là các con số nguyên theo thứ tự bắt đầu từ số 0. Bạn sẽ được tìm hiểu kỹ ở chương 6. Mảng đa chiều PHP cũng hỗ trợ mảng đa chiều. Mảng đa chiều thường sử dụng nhất đó là mảng hai chiều. Chúng chứa thông tin dựa trên hai khoá. Giả sử, nếu chúng ta chứa thông tin hai người trở lên thì mảng hai chiều sẽ hỗ trợ việc này rất tốt. Chúng ta sẽ xác lập một mảng $people. Trong mảng $people lại chứa mảng cho từng cá nhân: $people = array ( "khai" => array ("ho_lot" => "tongphuoc", "tuoi" => 30), "minh" => array ("ho_lot" => "leanh" , "tuoi" => 52) ); Ta thấy $people chứa các thông tin của 2 người, Khai và Minh. Để truy cập một trò trong bất kỳ thông tin của cá nhân nào bạn sẽ phải dùng cả hai khoá. Ví dụ để truy xuất tuổi của Minh bạn sẽ thực hiện lệnh như sau: Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com echo $people["minh"]["tuoi"]; Bạn có thể truy cập tất cả các phần tử trong mảng hai chiều bằng cách sử dụng vòng lặp trên cả hai chiều của mảng: while(list($person, $person_array) = each($people)) { echo "<b>Ban biet gi ve $person</b><br>\n"; while(list($person_attribute, $value) = each($person_array)) { echo "$person_attribute = $value<br>\n"; } } Biến gán từ trình duyệt (web browser) Quan điểm chung của việc sử dụng PHP cũng như các ngôn ngữ khác là cung cấp khả năng nhập thông tin theo ý muốn của khách. Thông thường các thông tin này được nhập vào thông qua một form HTML. Nhưng cũng có thể chúng xuất phát từ các nguồn khác như: HTML, cookie, session. Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Biến từ Form của HTML Dạng thông thường nhất để khách có thể nhập thông tin riêng là thông qua một form HTML. Trong phần phụ lục A có trình bày chi tiết về các tạo một form HTML. Nếu bạn chưa biết gì về cách tạo form này thì hãy đọc phần phụ lục. Bạn hãy tạo trang sign.php chỉ chứa 100% mã lệnh HTML như sau (có thể đặt là sign.htm cũng được): <form action=mypage.php action=post> <input type=text name=email> <input type=text name=first_name> <input type=submit name=submit value=OK> <input type=submit name=reset value=Cancel> </form> Một khi khách nhấp chuột vào nút SUBMIT (chấp nhận) thì các biến như $email, $first_name, và $submit sẽ được chuyển giao sang trang action là mypage.php. Sau đó, trong trang mypage.php bạn sẽ xử lý các biến này tuỳ thuộc vào mục đích chương trình. Để ý rằng phần lớn các ứng dụng trong sách này đều sử dụng giá trò của nút lệnh SUBMIT. Trong trang mypage.php bạn phải viết các lệnh để xử các thao tác của người truy cập. Bạn hãy xem cách xử lý trong trang mypage.php mẫu như sau: Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com <?php if (isset($submit) && $submit=="OK") { echo "Cam on ban da gui thong tin cho chung toi."; } else { ?> <form action=mypage.php action=post> <input type=text name=email> <input type=text name=first_name> <input type=submit name=submit value=OK> <input type=submit name=reset value=Cancel> </form> <?php } ?> Bạn hãy xem kỹ ví dụ trên, nếu như người truy cập nhập đủ thông tin và nhấn nút OK từ trang sign.php (chứa toàn mã lệnh html), thì nó chuyển sang trang mypage.php và xuất ra dòng thông báo: Cam on ban da gui thong tin cho chung toi. Ngược lại, nếu như nhấn nút Cancel thì nó sẽ thực hiện mã lệnh trong lệnh Else và sẽ hiển thò form để buộc nhập lại. Chú ý: Bạn hãy xem lại cách thức submit trong ví dụ GuestBook ở tập một. Trong tập 1, nếu bạn không chọn Submit thì chương trình sẽ gọi lại trang sign.php là trang chứa Form nhập liệu Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com . được trình bày ở các phần sau. Bạn có thể gán giá trò vào mảng với một phép toán đơn giản như sau: Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com . (associative array). Có thể bạn cảm thấy mới mẻ với khái niệm này. Để tôi nói sơ qua một chút: Mỗi phần tử trong mảng liên hợp mang khoá(key) riêng. Các phần tử của mảng sẽ được truy cập thông qua. giống như cách thức truy xuất trong các query khi làm việc với Database. Trong ví dụ sau, bạn sẽ thấy các phần tử first_name, last_name, e-mail sử dụng các key: $person = array ( "first_name"

Ngày đăng: 21/07/2014, 18:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan