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

13 237 1
Tài liệu Lập trình web với PHP - p27 pptx

Đ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

Chƣơng 6 : CHO PHÉP NGƢỜI SỬ DỤNG SOẠN THẢO CƠ SỞ DỮ LIỆU Nhận dữ liệu từ cơ sở dữ liệu khi cung cấp một vài dữ liệu cho cơ sở dữ liệu. Nhưng cơ sở dữ liệu thì không tạo ra nội dung mà chỉ lấy dữ liệu từ hệ thống khác. Điều này có nghĩa là bạn phải tạo hệ thống dữ liệu từ PHP. Tất cả cơ sở dữ liệu tương tác dựa trên SQL. Bạn biết là cú pháp SQL lấy dữ liệu từ mảng. Hầu hết mọi người dùng SQL để chèn dữ liệuPHP sửa đổi hoặc tạo ra. Chương này đề cập đến soạn thảo cơ sở dữ liệu, bao gồm:.  Thêm: điều này thì đơn giản, nhưng bạn sẽ tìm để thêm vào trong một cơ sở dữ liệu  Xóa: không sửa đổi lại cấu trúc cơ sở dữ liệu và có liên quan đến tính toàn vẹn.  Sữa đổi: thay thế một vài vùng soạn thảo với nội dung mới trong một hồ sơ có sẵn. Sửa dữ liệu trong mẩu tin Có dữ liệu trong cơ sở dữ liệu là một việc tốt, nhưng dữ liệu có khả năng nhận rõ chính nó và có khuynh hướng cập nhật. Để cập nhật dữ liệu bạn cần nhận biết dữ liệu cập nhật và hệ thống người sử dụng hiện tại với giao diện tốt. Việc sử dụng giao diện tương tự như việc tạo dữ liệu thường là một thực tiễn tốt. Ví dụ:Sửa đổi một Movie Trong ví dụ này, bạn tạo ra một tập lệnh mà có thể sửa đổi một bộ phim. Bạn sẽ xây dụng trên movie.php . 1.Mở movie.php và nhập mã lệnh <?php $link = mysql_connect(“localhost”, “root”, “”) or die(“Could not connect: “ . mysql_error()); mysql_select_db(„moviesite‟, $link) or die ( mysql_error()); $peoplesql = “SELECT * FROM people”; $result = mysql_query($peoplesql) or die(“Invalid query: “ . mysql_error()); while ($row = mysql_fetch_array($result)) { $people[$row[„people_id‟]] = $row[„people_fullname‟]; } switch ($_GET[„action‟]) { case “edit”: $moviesql = “SELECT * FROM movie WHERE movie_id = „“ . $_GET[„id‟] . “„“; $result = mysql_query($moviesql) or die(“Invalid query: “ . mysql_error()); $row = mysql_fetch_array($result); $movie_name = $row[„movie_name‟]; $movie_type = $row[„movie_type‟]; $movie_year = $row[„movie_year‟]; $movie_leadactor = $row[„movie_leadactor‟]; $movie_director = $row[„movie_director‟]; break; default: $movie_name = “”; $movie_type = “”; $movie_year = “”; $movie_leadactor = “”; $movie_director = “”; break; } ?> <html> <head> <title><?php echo $_GET[„action‟]; ?> movie</title> <style type=”text/css”> TD{color:#353535;font-family:verdana} TH{color:#FFFFFF;font-family:verdana;background-color:#336699} </style> </head> <body> <form action=”commit.php?action=<?php echo $_GET[„action‟]; ?>&type=movie&id=<?php echo $_GET[„id‟]; ?>” method=”post”> <table border=”0” width=”750” cellspacing=”1” cellpadding=”3” bgcolor=”#353535” align=”center”> <tr> <td bgcolor=”#FFFFFF” width=”30%”>Movie Name</td> <td bgcolor=”#FFFFFF” width=”70%”> <input type=”text” name=”movie_name” value=”<?php echo $movie_name; ?>”> </td> </tr> <tr> <td bgcolor=”#FFFFFF”>Movie Type</td> <td bgcolor=”#FFFFFF”> <select id=”game” name=”movie_type” style=”width:150px”> <?php $sql = “SELECT movietype_id, movietype_label “ . “FROM movietype ORDER BY movietype_label”; $result = mysql_query($sql) or die(“<font color=\”#FF0000\”>Query Error</font>” . mysql_error()); while ($row = mysql_fetch_array($result)) { if ($row[„movietype_id‟] == $movie_type) { $selected = “ selected”; } else { $selected = “”; } echo „<option value=”‟ . $row[„movietype_id‟] . „“„ . $selected.‟>‟ . $row[„movietype_label‟] . „</option>‟ . “\r\n”; } ?> </select> </td> </tr> <tr> <td bgcolor=”#FFFFFF”>Movie Year</td> <td bgcolor=”#FFFFFF”> <select name=”movie_year”> <option value=”” selected>Select a year </option> <?php for ($year = date(“Y”); $year >= 1970; $year ) { if ($year == $movie_year) { $selected = “ selected”; } else { $selected = “”; } ?> <option value=”<?php echo $year; ?>”<?php echo $selected; ?>><?php echo $year; ?></option> <?php } ?> </select> </td> </tr> <tr> <td bgcolor=”#FFFFFF”>Lead Actor</td> <td bgcolor=”#FFFFFF”> <select name=”movie_leadactor”> <option value=”” selected>Select an actor </option> <?php foreach ($people as $people_id => $people_fullname) { if ($people_id == $movie_leadactor) { $selected = “ selected”; } else { $selected = “”; } ?> <option value=”<?php echo $people_id; ?>”<?php echo $selected; ?>><?php echo $people_fullname; ?></option> <?php } ?> </select> </td> </tr> <tr> <td bgcolor=”#FFFFFF”>Director</td> <td bgcolor=”#FFFFFF”> <select name=”movie_director”> <option value=”” selected>Select a director </option> <?php foreach ($people as $people_id => $people_fullname) { if ($people_id == $movie_director) { $selected = “ selected”; } else { $selected = “”; } ?> <option value=”<?php echo $people_id; ?>”<?php echo $selected; ?>><?php echo $people_fullname; ?></option> <?php } ?> </select> </td> </tr> <tr> <td bgcolor=”#FFFFFF” colspan=”2” align=”center”> <input type=”submit” name=”SUBMIT” value=”<?php echo $_GET[„action‟]; ?>”> </td> </tr> </table> </form> </body> </html> 2. Mở tập lệnh commit.php và thay đổi nội dung như sau: <?php // COMMIT ADD AND EDITS $link = mysql_connect(“localhost”, “bp5am”, “bp5ampass”) or die(“Could not connect: “ . mysql_error()); mysql_select_db(„moviesite‟, $link) or die ( mysql_error()); switch ($_GET[„action‟]) { case “edit”: switch ($_GET[„type‟]) { case “movie”: $sql = “UPDATE movie SET movie_name = „“ . $_POST[„movie_name‟] . “„, movie_year = „“ . $_POST[„movie_year‟] . “„, movie_type = „“ . $_POST[„movie_type‟] . “„, movie_leadactor = „“ .$_POST[„movie_leadactor‟].”‟, movie_director = „“ . $_POST[„movie_director‟] . “„ WHERE movie_id = „“ . $_GET[„id‟] . “„“; break; } break; case “add”: switch ($_GET[„type‟]) { case “movie”: $sql = “INSERT INTO movie (movie_name, movie_year, movie_type, movie_leadactor, movie_director) VALUES („“ . $_POST[„movie_name‟] . “„, „“ . $_POST[„movie_year‟] . “„, „“ . $_POST[„movie_type‟] . “„, „“ . $_POST[„movie_leadactor‟] . “„, „“ . $_POST[„movie_director‟] . “„)”; break; } break; } if (isset($sql) && !empty($sql)) { echo “<! ” . $sql . “ >”; $result = mysql_query($sql) or die(“Invalid query: “ . mysql_error()); ?> <p align=”center” style=”color:#FF0000”> Done. <a href=”index.php”>Index</a> </p> <?php } ?> 3. Bây giờ mở http://localhost/chapter6/index.php hiển thị như Hình 6.6.1 Hình 6.6.1 4. Thử click liên kết EDIT ở “Bruce Almighty” movie, thay đổi một vài thứ trong hộp và tên film, ấn nút “edit” sẽ hiển thị như Hình 6.6.2 Hình 6.6.2 5. Edit “Bruce Almighty” nhận lại với thủ tục trong bước 4, và ấn định lại như cũ. Bây giờ liên kết EDIT cho film, bạn thấy rằng tập lệnh lưu trữ giá trị và cho phép sửa đổi dữ liệu dễ dàng Cách thức làm việc Đoạn mã commit.php giống với những gì bạn thấy. Nhưng có một phát triển cần quan tâm trong movie.php. Chúng ta hãy nhìn vào một vài chi tiết Đầu tiên hãy nhìn vào switch ở phần đầu của tập lệnh. Bạn định nghĩa một switch trên một chuổi truy vấn tham số tên action. Nếu action là edit, bạn truy vấn cơ sở dữ liệu cho một mẩu tin tương ứng đến id lý thuyết trong chuổi truy vấn tham số id và đặt một vài biến. Những biến này được đặt để tránh action không là edit switch ($_GET[„action‟]) { case “edit”: $moviesql = “SELECT * FROM movie WHERE movie_id = „“ . $_GET[„id‟] . “„“; $result = mysql_query($moviesql) or die(“Invalid query: “ . mysql_error()); $row = mysql_fetch_array($result); $movie_name = $row[„movie_name‟]; $movie_type = $row[„movie_type‟]; $movie_year = $row[„movie_year‟]; $movie_leadactor = $row[„movie_leadactor‟]; $movie_director = $row[„movie_director‟]; break; default: $movie_name = “”; $movie_type = “”; $movie_year = “”; $movie_leadactor = “”; [...]... bgcolor=”#FFFFFF” width=”30%”>Movie Name ”> Trong ví dụ này, vùng movie_name lấy nội dung biến $movie_name như một giá trị mặc Điều này cho phép bạn nạp lại với mẩu tin đã được chỉnh sửa Việc sửa đổi văn bản thì dễ dàng Sửa đổi giá trị trong một danh sách là một chuyện khác Bạn không... dùng có thể bỏ qua nó nếu không muốn thay đổi nó Làm điều này như thế nào? Movie Type < ?php $sql = “SELECT movietype_id, movietype_label “ “FROM movietype ORDER BY movietype_label”; $result = mysql_query($sql) or die(“Query Error” mysql_error()); while ($row... $row[„movietype_id‟] „“„ $selected „>‟ $row[„movietype_label‟] „‟ “\r\n”; } ?> Bạn nạp vào danh sách như bạn sẽ làm nếu bạn thêm một mẩu tin, nhưng bạn so sánh giá trị hiện hành với giá trị mặc định Nếu chúng đúng thì thêm cờ đơn giản SELECTED để lựa chọn Việc này đặt danh sách giá trị mặc định đến giá trị hiện hành trong bảng if ($row[„movietype_id‟] == $movie_type) { $selected . DỮ LIỆU Nhận dữ liệu từ cơ sở dữ liệu khi cung cấp một vài dữ liệu cho cơ sở dữ liệu. Nhưng cơ sở dữ liệu thì không tạo ra nội dung mà chỉ lấy dữ liệu. dữ liệu từ PHP. Tất cả cơ sở dữ liệu tương tác dựa trên SQL. Bạn biết là cú pháp SQL lấy dữ liệu từ mảng. Hầu hết mọi người dùng SQL để chèn dữ liệu

Ngày đăng: 26/01/2014, 06:20

Hình ảnh liên quan

Hình 6.6.1 - Tài liệu Lập trình web với PHP - p27 pptx

Hình 6.6.1.

Xem tại trang 9 của tài liệu.
3. Bây giờ mở http://localhost/chapter6/index.php hiển thị như Hình 6.6.1 - Tài liệu Lập trình web với PHP - p27 pptx

3..

Bây giờ mở http://localhost/chapter6/index.php hiển thị như Hình 6.6.1 Xem tại trang 9 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan