Tài liệu Lập trình web với PHP - p13 ppt

8 419 0
Tài liệu Lập trình web với PHP - p13 ppt

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

Thông tin tài liệu

Chương 3 : SỬ DỤNG PHP VỚI MYSQL Ở chương 2, chúng ta đã tạo được trang Web với việc sử dụng những hàm. Nhưng chúng ta chưa thực sự hiểu mối quan hệ giữa MySQL và PHP. Trong chương này chúng ta sẽ xét kỹ điều này. Trong chương này nói đến các vấn đề:  Hiểu biết về cơ sở dữ liệu MYSQL.  Những dữ liệu chứa trong MySQL.  Tác động những thông tin đặc biệt, quyền từ Web site.  Phần mềm quản lý bảng dễ dàng.  Có thể sửa chữa code theo ý muốn. WHERE , oh WHERE Đưa ra điều kiện để hiển thị thông tin mà bạn cần SELECT * FROM customers WHERE gender = “Male” Trả về tất cả các thông tin khách hàng có giới tính “Nam” Các phép toán so sánh trong câu lệnh WHERE:  =,<,>,>=,<=,!=  LINE và %: So sánh một phần của đoạn code với đoạn chứa nó, xuất ra tất cả những mẫu tin có liên quan đến nó. Ví dụ: SELECT * FROM products WHERE description LIKE “%shirt%” Ở đây sẽ đưa ra tất cả những phần có chứa „shirt‟. Ví dụ về sử dụng truy vấn SELECT: Mở trình soạn thảo nhập đoạn mă và lưu lại với tên select.php. <?php //connect to MySQL $connect = mysql_connect(“localhost”, “bp5am”, “bp5ampass”) or die(“Hey loser, check your server connection.”); //make sure we‟re using the right database mysql_select_db(“moviesite”); $query = “SELECT movie_name, movie_type “ . “FROM movie “ . “WHERE movie_year>1990 “ . “ORDER BY movie_type”; $results = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($results)) { extract($row); echo $movie_name; echo “ - “; echo $movie_type; echo “<br>”; } ?> Sau khi chạy chương trình ta sẽ thấy giao diện màn hình như Hinh 3.5.Error! No text of specified style in document 1 Hinh 3.5.Error! No text of specified style in document 2 Chúng làm việc như thế nào? Khi chúng ta muốn lấy thông tin tên, ta có: SELECT *FROM Nhưng thay vì bạn viết: $query=”SELECT movie_name, movie_type” Kế đến, chúng ta muốn lấy thông tin từ bảng nào “FROM movie” Sau đó, ta đưa điều kiện muốn thấy thông tin từ năm 1990 trở lên: WHERE movie_year>1990” Bạn cần kết quả xuất ra được sắp xếp theo thứ tự bạn muốn: ORDER BY movie_type; Kế đó, chúng ta tập hợp tất cả những dòng theo yêu cầu đã đưa ra của bạn: $results mysql_query($query) Ordie(mysql_error()); Sau đó, chúng ta kết hợp đưa ra kết quả với những dòng: while ($row = mysql_fetch_array($results)) { extract($row); echo $movie_name; echo " - "; echo $movie_type; echo "<br>"; } Ghi chú với mỗi dòng tìm thấy, bạn lưu trữ bảng này trong một mảng $row, sử dụng hàm mysql_fetch_array(), sau đó giải các biến trong $row, sử dụng hàm extract, xuất ra những gì bạn cần. Làm việc với PHP và mảng dữ liệu: foreach Hàm foreach tương tự như hàm While, nếu sử dụng while kết hợp thông qua một danh sách kết quả từ truy vấn foreach ($row as $value) { echo $value; echo “<br>”; } Ví dụ về việc sử dụng foreach. Mở tập select.php sửa đổi lại như sau. <?php //connect to MySQL $connect = mysql_connect("localhost", "root", "") or die("Hey loser, check your server connection."); //make sure we're using the right database mysql_select_db("moviesite"); $query = "SELECT movie_name, movie_type " ."FROM movie "; $results = mysql_query($query) or die(mysql_error()); //while ($row = mysql_fetch_array($results,MYSQL_ASSOC)){ while ($row = mysql_fetch_assoc($results)) { foreach ($row as $val1) { echo $val1; echo " "; } echo "<br>"; //extract($row); //echo $movietype_id; //echo " - "; //echo $movietype_label; } ?> Sau khi cho chạy chương trình, giao diện như Hinh 3.5.2.1 : Hinh 3.5.2.1 Nó làm việc thế nào: Ghi chú:Ở đây có sử dụng while ($row = mysql_fetch_assoc($results)) { foreach ($row as $val1) { echo $val1; echo “ “; } } So với phần trước, dùng hàm while ($row = mysql_fetch_array($results)) { extract($row); echo $movie_name; echo “ - “; echo $movie_type; echo “<br>”; } Dùng hàm foreach ta thấy ngắn gọn hơn , nó xuất tất cả thông tin liên quan mà khôn cần dùng lệnh echo để chỉ định. Một điều cần chú ý nữa là nếu ta sử dụng lệnh: while ($row = mysql_fetch_array($results)) thay cho câu lệnh :while ($row = mysql_fetch_assoc($results)) thì kết quả sẽ xuất ra 2 lần. Để khắc phục tình trạng này ta dùng: mysql_fetch_array($results,MYSQL_ASSOC) hoặc mysql_fetch_assoc  Sử dụng fereach để tạo một mảng Ví dụ. select2.php ` <?php //connect to MySQL $connect = mysql_connect("localhost", "root", "") or die("Hey loser, check your server connection."); //make sure we‟re using the right database mysql_select_db("moviesite"); $query = "SELECT * " . "FROM movie " . "WHERE movie_year>1990 " . "ORDER BY movie_type"; $results = mysql_query($query) or die(mysql_error()); echo "<table border=\"1\">\n"; while ($row = mysql_fetch_assoc($results)) { echo "<tr>\n"; foreach($row as $value) { echo "<td>\n"; echo $value; echo "</td>\n"; } echo "</tr>\n"; } echo "</table>\n"; ?> Kết quả sau khi chạy như Hinh 3.5.2.2 : Hinh 3.5.2.2 Ở đây làm việc thế nào? Bạn sử dụng mệnh mysql_query và while để phục hồi lại lĩnh vực của bạn.Sau đó, với mỗi giá trị bạn nhận lại, bạn đặt nó ở mỗi ô phân cách và kết chúng lại trong html và echo . DỤNG PHP VỚI MYSQL Ở chương 2, chúng ta đã tạo được trang Web với việc sử dụng những hàm. Nhưng chúng ta chưa thực sự hiểu mối quan hệ giữa MySQL và PHP. . „shirt‟. Ví dụ về sử dụng truy vấn SELECT: Mở trình soạn thảo nhập đoạn mă và lưu lại với tên select .php. < ?php //connect to MySQL $connect = mysql_connect(“localhost”,

Ngày đăng: 14/12/2013, 11:15

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