如何在php中打印同一表中的多条记录


How to print multiple record from same table in php

我是php和开发网站的新手。我有一个产品页面,其中许多产品存储在数据库中。当我打印它们时,所有的产品都是单列的,我确实浮动了:左,但没有变化。但当我在html中输入手动产品时,也可以。下面是我在php中使用的代码。请帮忙。

<div class="products-wrap">
<?php
$result = mysqli_query($con,"SELECT ProductName,Description,ProductImage FROM products");
while($row = mysqli_fetch_array($result))
  {
  echo  "<div class='product-img'><img src='upload/".$row['ProductImage']."'/></div>";
  echo '<br/>';
  echo "<p>".$row['Description']."</p>"; 
  echo '<div class="product-details"><a href="#">Product Details</a></div>';
  }
mysqli_close($con);
?>
</div>

produst-wrap是主div,必须打印多次。1行中有4个产品,但当我使用这种编码时,所有产品都显示在一列中。

感谢

您在示例中所做的"将所有元素置于彼此之下"(正如您所说,您没有发布任何CSS以供我们了解)。我认为您可能缺少的(所以请尝试)是将<div class="products-wrap">放在while循环中。

像这样:

<?php
$result = mysqli_query($con,"SELECT ProductName,Description,ProductImage FROM products");
while($row = mysqli_fetch_array($result))
{
echo "<div class='products-wrap'>";
echo "<div class='product-img'><img src='upload/".$row['ProductImage']."'/></div>";
echo '<br/>';
echo "<p>".$row['Description']."</p>"; 
echo '<div class="product-details"><a href="#">Product Details</a></div>';
echo '</div>';
}
mysqli_close($con);
?>

让我知道这是否有帮助或不是你想要的。

也许可以尝试通过foreach循环进行迭代

<?php
$result = mysqli_query($con,"SELECT ProductName,Description,ProductImage FROM products");
$rows = mysqli_fetch_array($result, MYSQLI_ASSOC);
foreach($rows as $row)
{
   echo "<div class='products-wrap'>";
   echo "<div class='product-img'><img src='upload/".$row['ProductImage']."'/></div>";
   echo '<br/>';
   echo "<p>".$row['Description']."</p>"; 
   echo '<div class="product-details"><a href="#">Product Details</a></div>';
   echo '</div>';
}
mysqli_close($con);
?>