为数据库中的每个项目制作产品卡

问题描述

我目前正在开展一个学校项目,我必须为一家酒类商店制作一个商店页面。为此,我们有一个包含商店销售产品的数据库。我想让产品出现在卡片的页面上,就像您在其他网上商店中看到的一样。但是我遇到了无法解决的问题。

当商店里只有 1 件产品时,它按照预期形成了一张不错的卡片,但是当我向数据库添加第二件商品时,它会将卡片放入现有卡片中,而不是放在卡片旁边。我已经包含了当前页面代码和屏幕截图。如果您需要更多,我很乐意为您提供所需的信息。

<?PHP include "pdo.PHP" ?>

<?PHP
$sql = 'SELECT * FROM product';
$products = $pdo -> prepare($sql);
$products -> execute();
$producten = $products ->fetchAll(); ?>


<!-- Include header.PHP. Bevat: header,body tag & donkere navigatiebalk  -->
<?PHP  include 'header.PHP' ?>

<div class="container tc-white">
<?PHP 

// if statement om te kijken of er waarden zijn in de array producten
if($producten != NULL){



// Array keys omzetten in variabelen.
    foreach($producten as $product)
    $id = $product["productID"];
    $name = $product["naam"];
    $land = $product["land"];
    $inventory = $product["voorraad"];
    $price = $product["prijs"];
    $brand = $product["producent"];
}

// Als er geen waarden in de array zijn gevonden:
else{
    echo "<h3> Geen producten gevonden </3>";
}
?>


<?PHP
foreach($producten as $cardloop)
echo 
'<div class="col-md-4 mt-4 mt-sm-0 card-container">
 <div class="card text-center product p-4 pt-5 border-0 h-100 rounded-0">
  [product-image]
  <div class="card-body p-4 py-0 h-xs-440p">' .
  $name .  " " . $price;
     ?>
   
  </div>
  <p class="btn w-100 px-4 text-center mx-auto">
   [button]
 </div>
</div>

</div>

<!-- Include footer.PHP. bevat: body sluit tag -->
<?PHP include 'footer.PHP' ?>

Store page

希望你能帮助我。

提前致谢!

解决方法

你必须正确打开和关闭 foreach

<?php include "pdo.php" ?>

<?php
$sql = 'SELECT * FROM product';
$products = $pdo -> prepare($sql);
$products -> execute();
$producten = $products ->fetchAll(); ?>


<!-- Include header.php. Bevat: header,body tag & donkere navigatiebalk  -->
<?php  include 'header.php' ?>

<div class="container tc-white">
<?php 

// if statement om te kijken of er waarden zijn in de array producten
if($producten != NULL){



// Array keys omzetten in variabelen.
    foreach($producten as $product)
    {
    $id = $product["productID"];
    $name = $product["naam"];
    $land = $product["land"];
    $inventory = $product["voorraad"];
    $price = $product["prijs"];
    $brand = $product["producent"];
  }  // added braces at the begin and end of foreach
}

// Als er geen waarden in de array zijn gevonden:
else{
    echo "<h3> Geen producten gevonden </3>";
}
?>


<?php
foreach($producten as $cardloop)
{  // added braces at the begin and end of foreach
echo 
'<div class="col-md-4 mt-4 mt-sm-0 card-container">
 <div class="card text-center product p-4 pt-5 border-0 h-100 rounded-0">
  [product-image]
  <div class="card-body p-4 py-0 h-xs-440p">' .
  $name .  " " . $price;
     ?>
   
  </div>
  <p class="btn w-100 px-4 text-center mx-auto">
   [button]
 </div>
</div>
<?php } ?> 

</div>

<!-- Include footer.php. bevat: body sluit tag -->
<?php include 'footer.php' ?>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...