我在连接两个表时遇到问题。我希望所有的帖子都有他们的作者写在下面。
表用户-idUser、FirstName、LastName等。
表格帖子-idPost,主题,文本,Fk_user
Fk_user是指向idUser的外键。
我想在每个帖子下面写名字和姓氏。
我现在得到的只是每个帖子上一个人的名字和姓氏相同。
<section id="reviews" class="page-section bg-dark gradient-servquick">
<div class="pb-0">
<div class="container relative">
<?php
$query="SELECT * FROM post ORDER BY idPost DESC";
$result=mysqli_query($connection,$query) or die (mysqli_error($connection));
$getUser="SELECT post.idPost, post.Fk_user, user.FirstName, user.LastName FROM post INNER JOIN user ON post.Fk_user = user.idUser";
$resultUser=mysqli_query($connection,$getUser) or die (mysqli_error($connection));
$extractUser=mysqli_fetch_array($resultUser);
while($extract=mysqli_fetch_array($result)): ?>
<div class="row">
<div class="col-md-8 col-md-offset-2 align-center">
<h3><?php echo $extract['Subject'] ?></h3>
<div class="review review-text mt-0">
<p>
<?php echo $extract['Text'] ?>
</p>
<footer class="review-author text-center">
<?php echo $extractUser['FirstName'], ' ', $extractUser['LastName']; ?>
</footer>
</div>
</div><!--End Col-->
</div><!--End Row-->
<hr class="style-one">
<?php
endwhile;
?>
</div><!--End Container-->
</div><!-- End Slide Item -->
</section><!-- End Testimonials Section -->
您的代码似乎有点乱。例如,你似乎仍然会查询两次帖子,一次是有作者的,一次没有作者的,然后只在帖子周围循环,而不是有作者的。以下内容应该有效,但没有经过测试,请注意差异。
<section id="reviews" class="page-section bg-dark gradient-servquick">
<div class="pb-0">
<div class="container relative">
<?php
$getPost="SELECT post.*, u.FirstName, u.LastName FROM post p INNER JOIN user u ON p.Fk_user = u.idUser";
$resultPost=mysqli_query($connection,$getPost) or die (mysqli_error($connection));
while($extract=mysqli_fetch_array($resultPost)): ?>
<div class="row">
<div class="col-md-8 col-md-offset-2 align-center">
<h3><?php echo $extract['Subject'] ?></h3>
<div class="review review-text mt-0">
<p>
<?php echo $extract['Text'] ?>
</p>
<footer class="review-author text-center">
<?php echo $extract['FirstName'], ' ', $extract['LastName']; ?>
</footer>
</div>
</div><!--End Col-->
</div><!--End Row-->
<hr class="style-one">
<?php
endwhile;
?>
</div><!--End Container-->
</div><!-- End Slide Item -->
</section><!-- End Testimonials Section -->