Tôi muốn truy xuất dữ liệu từ nhiều bảng bằng toán tử/tham gia DOT trong đó các đối số được truyền từ biểu mẫu HTML/PHP.
MÃ HTML
Mã PHP
if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
Trong trình duyệt nếu nhập đầu vào
if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
1 và lặp lại truy vấn này thì có vẻ như sau: if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
2if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
2và không có hàng nào được tìm nạp mặc dù có dữ liệu trong [các] bảng.
Nó chỉ hoạt động nếu truy vấn trông giống như sau:
if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
3if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
3Tuy nhiên, trong trường hợp đó, nó lấy tất cả các hàng nhưng tôi chỉ cần hàng rollno mà người dùng đã nhập vào mẫu được đề cập ở trên.
Tôi chỉ không thể làm việc này. Trợ giúp sẽ được nhiều đánh giá cao. Cảm ơn!
Xin chào các bạn, trong hướng dẫn này, chúng tôi sẽ xem cách tham gia nhiều hơn một bảng trong PHP & MySQL bằng cách sử dụng câu lệnh SQL tham gia và không sử dụng câu lệnh tham gia, mặc dù đây là yêu cầu rất phổ biến khi nói đến cơ sở dữ liệu và đôi khi chúng tôi cần tìm nạp dữ liệu từ nhiều hơn so với một bảng theo quan hệ bảng, vì vậy trong trường hợp đó, chúng tôi có thể viết truy vấn tham gia để lấy dữ liệu và bằng cách tham gia chúng, nó có thể được hiển thị ở định dạng thích hợp. Vì vậy, ở đây trong hướng dẫn này, tôi đã lấy hai bảng một là danh mục và một bảng khác là sản phẩm để bạn có thể dễ hiểu. Trước khi tiến hành, bạn có thể kiểm tra bản demo để bạn có thể có ý tưởng về việc tham gia các bảng, vì vậy hãy bắt đầu.
Xem xét theo hai bảng.
1: TBL_C CAGETORIES
CREATE TABLE IF NOT EXISTS `tbl_categories` [
`cat_id` int[5] NOT NULL AUTO_INCREMENT,
`cat_name` varchar[20] NOT NULL,
PRIMARY KEY [`cat_id`]
] ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Hồ sơ cho bảng này:
INSERT INTO `tbl_categories` [`cat_id`, `cat_name`] VALUES
[1, 'samsung'],
[2, 'nokia'],
[3, 'htc'];
2: tbl_products
CREATE TABLE IF NOT EXISTS `tbl_products` [
`product_id` int[5] NOT NULL AUTO_INCREMENT,
`product_name` varchar[30] NOT NULL,
`cat_id` int[5] NOT NULL,
PRIMARY KEY [`product_id`]
] ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
Hồ sơ cho bảng này:
INSERT INTO `tbl_products` [`product_id`, `product_name`, `cat_id`] VALUES
[1, 'galaxy note', 1],
[3, 'lumia 530', 2],
[5, 'htc grid', 3];
2: tbl_products
- Now suppose you want to retrieve details from products table along with product category.
- You can do so using the following two methods.
1.
Referencing two tables in single SQL statement.
2. Using JOIN statements.
- Trong hai bảng trên, có một cột chung [trường] có tên là 'cat_id' dựa trên đó bạn có thể thiết lập mối quan hệ giữa hai bảng này. - Bây giờ giả sử bạn muốn truy xuất chi tiết từ bảng sản phẩm cùng với danh mục sản phẩm. - Bạn có thể làm như vậy bằng cách sử dụng hai phương pháp sau. 1. Tham chiếu hai bảng trong câu lệnh SQL đơn. 2. Sử dụng các câu lệnh tham gia.
1. Câu lệnh SQL đơn
Để truy xuất thông tin từ hai bảng liên quan, bạn cần tham khảo hai bảng trong truy vấn SQL của mình.Không tham gia cú pháp chung
SELECT tbl_a.column1 , tbl_a.column2
tbl_b.column1 , tbl_b.column2
FROM tbl_a , tbl_b
WHERE tbl_a.commonfield=tbl_b.commonfield
:
Example.
index.php
Using single SQL
table,td,th
{
padding:10px;
border-collapse:collapse;
font-family:Georgia, "Times New Roman", Times, serif;
border:solid #ddd 2px;
}
product id
product name
category name
- Trong cú pháp trên, nơi điều kiện thiết lập mối quan hệ giữa các bảng dựa trên trường chung.
SELECT c . * , p . *
FROM tbl_categories c, tbl_products p
WHERE c.cat_id = p.cat_id
Truy vấn giải thích: C = tbl_corgies p = tbl_products * = tìm nạp tất cả các bản ghi từ cả hai bảng. 1. C và P là tên bí danh của hai bảng này. 2. Cả hai bảng phải có cột chung, thứ nhất là chính và thứ hai là phím nước ngoài. 3. 'CAT_ID' là khóa chính trong bảng danh mục. 4. 'CAT_ID' là chìa khóa nước ngoài trong bảng sản phẩm.
c = tbl_categories
p = tbl_products
* = fetch all records from both tables.
1. c and p is the alias name of these two tables.
2. Both table should have common column, first is primary and second is foreign key.
3. 'cat_id' is primary key in categories table.
4. 'cat_id' is foreign key in products table.
Đầu ra: & nbsp;
2. Sử dụng tham gia
-Trong các tham gia MySQL cho phép truy xuất các bản ghi dữ liệu từ một hoặc nhiều bảng có cùng mối quan hệ giữa chúng, bạn cũng có thể sử dụng toán tử logic để lấy đầu ra mong muốn từ các truy vấn tham gia MySQL.1. Tham gia bên trong - Đó là một loại tham gia mặc định. - Khi hai bảng được nối bằng tùy chọn tham gia bên trong, nó chỉ trả về các bản ghi đó từ cả hai bảng hoặc tồn tại một mục cho trường chung. Ví dụ:
1. Inner JOIN
- it is a default join type.
- when two tables are joined using INNER JOIN option it returns only those records from both tables or which there exist an entry for common field.
example :
SELECT tbl_a.column1 , tbl_a.column2
tbl_b.column1 , tbl_b.column2
FROM tbl_a INNER JOIN tbl_b
ON tbl_a.commonfield=tbl_b.commonfield
2. Tham gia bên ngoài
Cú pháp:if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
0if[isset[$_POST['submit_view_details']]]
{
$rollno = [int] $_POST['rollno'];
$query = "select * from table1, table2 where table1.{$rollno}=table2.{$rollno}";
$result=mysqli_query[$connection,$query];
}
0 Đó là nó ... Tôi hy vọng bài đăng này hữu ích cho bạn ... Tải xuống tập lệnh này từ liên kết đã cho.
I hope this post is helpful to you...
Download this Script from the given link.