gpt4 book ai didi

php - 使用类和 DAO 显示数据库中的数据

转载 作者:行者123 更新时间:2023-11-29 18:23:57 24 4
gpt4 key购买 nike

我实际上在 PHP 中编写了一个类和一个 DAO 类,如下所示:dbDAO 内容仅是我的数据库 PDO 连接。我希望在我的索引页上显示我的数据库包含的所有产品。显示数据库中所有产品的最佳方法是什么,是在我的 DAO 类中还是使用对象产品? DAO 类仅用于修改我的数据库中的内容?

这是我的代码:

DAO 类:

class ProduitDao extends dbDAO
{
public function displayProduits()
{
$product = $this->bdd->prepare("SELECT * FROM products");
$product->execute();

while ($displayProduct = $product->fetch() )
{
?>
<div class="prodname">
<?php
echo '<a href="./product.php?id='.$displayProduct['no'].'"</a>';
echo '<img src="images/produits/'.$displayProduct['image'].'" alt=" '.$affichageProduit['nom'].' "</img>';
?>
</div>
<?php
}
}

产品类别:

    public function __construct($no, $img)
{
$this->no = $numero;
$this->img = $img;
}

// GET and SET goes here

坦克!

最佳答案

永远不要将 HTML(表示逻辑)与您的业务逻辑结合起来。

您可能想要做的是:

定义定义数据的实体(普通 PHP 对象)。

class ProductEntity {
protected id;
protected name;
//then define your setters and getters
}

然后您将让 DAO 返回您刚刚定义的实体。

class ProductDao {
public function getProducts() {
$products = [];
$product = $this->bdd->prepare("SELECT * FROM products");
$product->execute();

while ($displayProduct = $product->fetch()) {
$p = new Product();
$p->setId($displayProduct['id']);
$p->setName($displayProduct['name']);
$products[] = $p;
}
return products;
}
}

现在您可以调用 DAO 以返回产品集合。

然后您可以将此集合传递到 VIEW 层,您可以在此处添加 HTML(表示逻辑)

foreach ($products as $product) {
echo '<div>' . $product->getId() . '</div>';
}

关于php - 使用类和 DAO 显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46351133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com