这是我在phpmyadmin名称文件中的表格。在html格式中,主题名称的下拉列表不是必须选择的。所以它可以是空白的,并获得表中显示的0。但是当我运行select查询以获取所有文档列表时,无法获取sub_id的数据,该值为0.我想要来自文档表的所有数据。 Plz解决了这个问题。
$list=mysqli_query($con,"select documents.*,courses.cour_name,subjects.sub_name from documents join courses on documents.cour_id=courses.cour_id join subjects on documents.sub_id=subjects.sub_id") or die(mysqli_error($con));
doc_id=primary key,
cour_id=index key,
sub_id=index kry
doc_id cour_id sub_id doc_name
1 1 0
6 1 2 MB-C250D-AvantGarde-2012.JPG
7 1 1 adview.sql
8 1 2 crane.txt
9 1 0 ui.txt
运行选择查询后的结果
Document Id Document Name Course Subject
6 MB-C250D-AvantGarde-2012.JPG B.com Statistics
7 adview.sql B.com Accounting
8 crane.txt B.com Statistics
答案 0 :(得分:0)
改为使用LEFT JOIN
:
select documents.*,courses.cour_name,subjects.sub_name
from documents
LEFT join courses on documents.cour_id=courses.cour_id
LEFT join subjects on documents.sub_id=subjects.sub_id
简单JOIN
重新验证两个表中数据的存在
答案 1 :(得分:0)
$list=mysqli_query($con,"select documents.*,courses.cour_name,subjects.sub_name from documents left join courses on documents.cour_id=courses.cour_id left join subjects on documents.sub_id=subjects.sub_id") or die(mysqli_error($con));
使用左连接,因为可能有一些数据在另一个表中不存在。所以连接将丢弃那些不常见的数据。