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