我需要在页面中显示不同的产品。我试着通过一个类开发(我是新手)但是我很遗憾在一段时间内插入$ OSCOM_ProductB2B = new ProductsB2B($ products ['products_id'])。不是吗?
谢谢。
class ProductsB2B {
protected $id;
public function __construct($products_id) {
global $OSCOM_PDO;
$Qproducts = $OSCOM_PDO->prepare('select p.products_id,
p.orders_view
from :table_products p,
:table_products_description pd
where p.products_status = :products_status
and p.products_id = :products_id
and pd.products_id = p.products_id
and pd.language_id = :language_id
and orders_view = :orders_view
');
$Qproducts->bindValue(':products_status', '1' );
$Qproducts->bindInt(':products_id', $products_id);
$Qproducts->bindInt(':language_id', (int)$_SESSION['languages_id'] );
$Qproducts->execute();
$products = $Qproducts->fetch();
$this->id = $products['products_id'];
}
Private function setProductsMinQuantityShoppingCart() {
global $OSCOM_PDO, $OSCOM_Customer;
$products_id = osc_get_prid($this->id);
$QminOrderQty = $OSCOM_PDO->prepare('select products_min_qty_order
from :table_products
where products_id = :products_id
');
$QminOrderQty->bindInt(':products_id',$products_id );
$QminOrderQty->execute();
$min_order_qty_values = $QminOrderQty->fetch();
$min_order_qty = $min_order_qty_values['products_min_qty_order'];
return $min_order_qty;
}
Public function getProductsMinQuantityShoppingCart() {
return $this->setProductsMinQuantityShoppingCart();
}
} // end class
我的文件显示产品
$products_query_raw = "select p.products_id
from " . TABLE_PRODUCTS . "
where p.products_status = '1'
and p.products_id = pd.products_id
"
$products_split = new splitPageResults($products_query_raw, MODULE_PRODUCTS_NEW_MAX_DISPLAY);
$products_query = osc_db_query($products_split->sql_query);
while ($products = osc_db_fetch_array($products_query)) {
$OSCOM_ProductB2B = new ProductsB2B($products['products_id']); // ===> there I amnot sure,it could make a problem ????
echo MIN_QTY_ORDER_PRODUCT . $OSCOM_ProductB2B->getProductsMinQuantityShoppingCart();
}
答案 0 :(得分:0)
您在循环中从一个单独的类中创建不同的对象。你是否循环从数据库中获取数据,如果你有一个100行的表格怎么办?你制作一个单一类的100个对象?虽然你每次都传递不同的变量,但这是不合理的。把它放在循环之外。你不需要将vars传递给你班级的构造函数。定义一个方法并每次将它们传递给方法。另外,我建议你从网上下载一些PHP商店脚本,看看他们是如何处理这些信息的。
不要犹豫,进一步询问问题。
祝你好运