无法从选择查询中的表中获取所有数据

时间:2017-06-05 06:00:35

标签: php mysql

这是我在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     

2 个答案:

答案 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));

使用左连接,因为可能有一些数据在另一个表中不存在。所以连接将丢弃那些不常见的数据。