2013-02-23 39 views
0

对于问题标题我很抱歉,但我没有得到任何合适的词语来定义。PHP:只输出一次相同的帖子ID并添加该帖子的媒体

我有同样的职位表中多个媒体现在我想输出数据在下面的格式

Post ID 1 
------------------------ 
media1, media2, media3 
------------------------ 

Post ID 2 
------------------------ 
media1, media2, media3 
------------------------ 

so on... 

这里是表像 enter image description here

我加入上面的表格用下面的查询

SELECT wp_posts.ID, wp_posts.post_author, wp_posts.post_title, wp_posts.post_status, wp_posts.post_type, 
wp_review_media.post_id, wp_review_media.user_id, wp_review_media.id, wp_review_media.image_name, wp_review_media.`status`, 
wp_users.ID, wp_users.user_login 

FROM wp_posts 
RIGHT OUTER JOIN wp_users ON wp_users.ID = wp_posts.post_author 
RIGHT OUTER JOIN wp_review_media ON wp_posts.ID = wp_review_media.post_id 

WHERE wp_posts.post_status = 'publish' AND wp_review_media.`status` = 0 

目前它给这个循环的输出格式如下

<?php 
if ($medias) { 
    foreach ($medias as $media) { 
?> 
     <tr> 
      <td><?php echo $media->ID; ?></td> 
      <td><?php echo $media->post_title; ?></td> 

     </tr> 
<?php } 
} else { ?> 
     <tr> 
     <td>No Record Found!</td> 
     <tr> 
<?php } ?> 

输出:

Post ID 1 
--------- 
media1 

Post ID 1 
--------- 
media2 

Post ID 1 
--------- 
media3 

Post ID 2 
--------- 
media1 

Post ID 2 
--------- 
media2 

Post ID 2 
--------- 
media3 

so on.... 

因此,谁能帮助我了解我怎样才能得到结果我上面描述。

非常感谢......

回答

1

假设你只是想id和媒体的列表,使用GROUP_CONCAT

SELECT wp_posts.ID, GROUP_CONCAT(wp_posts.post_title) titles 
FROM wp_posts 
    RIGHT OUTER JOIN wp_users ON wp_users.ID = wp_posts.post_author 
    RIGHT OUTER JOIN wp_review_media ON wp_posts.ID = wp_review_media.post_id 
WHERE wp_posts.post_status = 'publish' AND wp_review_media.`status` = 0 
GROUP BY wp_posts.ID 
+0

这只会输出文章的标题吧?比我需要运行另一个查询来获得媒体?我以正确的方式思考? – 2013-02-23 18:15:43

+0

@pixelngrain - 不完全确定你在问什么。考虑到上面的php代码,使用GROUP_CONCAT将在单行(PostId1; Title1,Title2,Title3)和(PostId1; Title1 - PostId1; Title2 - 等)中生成Post ID和Post_Titles。祝你好运。 – sgeddes 2013-02-23 20:33:58

+0

如果您参考了我的图表,而不是我想要的所有帖子编号,并且该帖子编号的所有媒体都应显示在该组下。我试图通过运行多个查询,但它比如何将所有媒体渲染到所有后期 – 2013-02-24 05:38:30