2017-04-27 64 views
0

问题: 我需要显示帖子列表,每个帖子都带有附加的缩略图。 缩略图在文件系统中,我只需要存储在mysql数据库中的路径。 我有2分贝表:一个用于posts和一个用于images_attachments查询以显示所有附加缩略图的帖子

我不知道什么是我应该从数据库检索到适当的格式来实现我所需要的。 现在我有这样的:

SELECT posts.id, posts.post_title, images_attachments.image_name 
FROM posts 
INNER JOIN images_attachments ON posts.id = image_post_post_id 

这个产品行与post_idpost_title和相应的加盟images_attachments.image_name这是路径。

这是我该怎么做的吗?问题在于,每个帖子的行数与图像数量一样多。这将涉及更多的模板逻辑显示帖子标题,并在其下面显示所有的大拇指。

第二个问题是,它会忽略没有附加缩略图的帖子。

请指教我是否在错误的方向,如果是这样的话,如何格式化查询。

(这不是WordPress的,只是原始MySQL和PHP模板)

回答

1

你有很多对一(许多附件一周后),所以你可能会更好,只是在做一个正常的选择,通过循环行和查询附件。

<?php 

foreach ($posts as $post) { 
    $attachments = // query other table 
    foreach($attachments as $attachment) { 
     // do stuff with attachment 
    } 
} 

你正在做它的方式,你需要创建一个基于附件的数量动态附加列,这是一个头疼的问题。这也可以确保您的帖子没有附件也会被抓取。

+0

确实,这将解决问题。尽管我不会在每页显示超过20篇文章,但会为该页面生成20个查询。我不知道这是不是很糟糕,如果这是常见的做法。是吗 ? –

+0

你应该没问题! 20个查询不算什么。我正在一家大型国际手机公司网站上工作,他们发生了每页650个查询的疯狂事件,它仍然运行正常! – delboy1978uk