2012-08-06 108 views
1

我有这个代码,它从数据库中选择内容类型,然后根据内容类型构建它的视图。从数据库表中选择特定字段

$q = db_query('SELECT n.nid, n.title, r.body, f.filename 
FROM {node} n 
INNER JOIN {node_revisions} r ON n.vid = r.vid 
INNER JOIN {content_type_brands} p ON p.nid = n.nid 
INNER JOIN {files} f ON f.fid = p.field_deyat_pic_fid 
WHERE n.type = "brands"'); 

但它显示每个内容类型,当我需要使此代码仅显示特定的内容类型。我该怎么做只显示选定的内容类型?

回答

3

更改np在您的WHERE条款。

SELECT n.nid, n.title, r.body, f.filename 
FROM {node} n 
      INNER JOIN {node_revisions} r 
       ON n.vid = r.vid 
      INNER JOIN {content_type_brands} p 
       ON p.nid = n.nid 
      INNER JOIN {files} f 
       ON f.fid = p.field_deyat_pic_fid 
// WHERE p.type = 'brands' 
WHERE p.type IN ('brand1','brand1','brand1') 
+0

它会如何改变输出结果? – Avdept 2012-08-06 12:31:15

+0

您的查询基于'node'上的'type'。此查询基于'{content_type_brands}' – 2012-08-06 12:32:53

+0

将n更改为p给了我一个空白页面,但没有任何结果。我究竟做错了什么? – Avdept 2012-08-06 12:36:54

相关问题