好的,所以我一直在通过网络和 stackoverflow 寻找我的问题的答案(如下),但是我发现的几乎每个解释和/或主题对我来说都太复杂或不适合根据我的具体需求...
简而言之,我有一个输出大量 POST 的博客。每个 POST 包含多个图像。POST 包含 TITLE、DESCRIPTION、POST DATE 等数据。这些内容包含在一个名为tbl_blog的表中。IMAGES 属于他们自己的名为tbl_blog_imgs的表。
现在,我的代码“有效”,但是它只显示一篇博客文章,其中的图片与该博客文章的 ID 匹配。(在tbl_blog_imgs中,我有一个名为 blog_key 的行,它与tbl_blog中每个条目的 ID 相匹配)
问题自然是我有不止一篇博客文章,而且似乎只有一篇文章... IN
我的代码...
<?php
require('myownsecretfile.php');
$sql = "SELECT blog_id, blog_title, blog_desc, date_format(blog_post_date,'%d/%m/%Y') as blog_post_date ";
$sql .= "FROM tbl_blog ";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
$blog_id = $row['blog_id'];
$blog_title = $row['blog_title'];
$blog_desc = $row['blog_desc'];
$blog_post_date = $row['blog_post_date'];
?>
<div class="blog-title"><a href="blog_more.php?blog_title=<?php echo $blog_title; ?>"><?php echo $blog_title; ?></a>
<p class="blog-post-date-style">- <?php echo $blog_post_date; ?> -</p>
<br>
<div class="blog-desc">
<p class="blog-description-style"><?php echo $blog_desc; ?></p>
</div>
</div>
<br>
<?php
$sql = "SELECT * ";
$sql .= "FROM tbl_blog_imgs ";
$sql .= "WHERE blog_img_key='$blog_id' ";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
$blog_img_key = $row['blog_img_key'];
$blog_img_path = $row['blog_img_path'];
$blog_img_alt = $row['blog_img_alt'];
$blog_img_title = $row['blog_img_title'];
?>
<img src="images/blog/<?php echo $blog_img_path; ?>" alt="<?php echo $blog_img_alt; ?>" title="<?php echo $blog_img_title; ?>"><br>
<?php
}
}
?>
我必须执行 INNER JOIN 吗?如果不是,那么在循环中实现循环的最聪明和最有效的方法是什么......