Liên hệ giữa 2 bảng
Bạn có thể lấy thông tin từ nhiều bảng theo hai cách:
-
Chuyển đến những bảng riêng biệt trong truy vấn của bảng và
liên kết chúng ttrong một vùng chung tạm thời.
-
Sử dụng công thức JOIN trong truy vấn của bạn đối với những
bảng riêng biệt.
Dùng câu lệnh SELECT để phân biệt
giữa hai bảng trong dữ liệu của bạn, kết nối chúng trong một bảng mới.
$query = “SELECT customers.name, orders.order_total
FROM customers, orders
WHERE customers.cust_ID = orders.cust_ID”;
//trả về tên khách hàng từ bảng khách
hàng và order_total từ bảng order nơi mà cust_ID trong bảng customers bằng với
cust_ID trong bảng order.
Ví dụ : select21.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
movie.movie_name, movietype.movietype_label " .
"FROM movie, movietype " .
"WHERE movie.movie_type =
movietype.movietype_id " .
"AND movie.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ả như sau:
Ghi chú: Ở đây có hai vùng được liên kết với nhau thông qua WHERE, những số id từ hai bảng khác nhau (movie_type trong bảng movie và movietype_id trong bảng movietype) được liên kết với nhau .
Kết nối hai bảng (Join two tables)
Cũng giống như phần kết
hợp hai bảng ở trên, nhưng ở đây câu
lệnh SELECT là:
SELECT
movie_name, movietype_label.
Bạn muốn cập nhật dữ liệu loại nào
dùng câu lệnh:
FROM movie
LEFT JOIN movietype
Dùng câu lệnh trên có nghĩa đơn giản
là movietype phụ thuộc vào movie. Sau đó bạn gửi đến server vùng nào
cần kết nối như sau:
ON
movie_type = movietype_id.
Ví dụ : select22.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 movie_name,
movietype_label ".
"FROM movie ".
"LEFT JOIN movietype ".
"ON movie_type = movietype_id
".
"WHERE movie.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ả là:
Bạn thấy kết quả giống như
phần trên.Bạn làm điều này trong dòng đầu tiên của mệnh đề SELECT:
SELECT
movie_name, movietpe_label
Sau đó bạn gọi đến Mysql
những bảng nào ban muốn cập nhật và loại nào bạn muốn kết hợp với nhau trong
mệnh đề sau:
FROM movie
LEFT JOIN movietype
Bạn dùng LEFT kết hợp
những mệnh đề trong trường hợp này.Bạn lấy trông tin chính từ movie và tham
chiếu thông tin từ movietype.
Tài liệu trong bài viết được sưu tầm trên Google.com với mục đích giúp bạn tìm hiểu thêm về PHP và Mysql.Ngoài ra các bạn có thể tìm hiểu thêm tài liệu học PHP và MySQL hoặc đăng ký 1 khóa học PHP online tại http://daotaolaptrinh.edu.vn/
0 nhận xét: