插入的新课程:我可以这样做吗?

时间:2014-09-07 03:48:40

标签: php class while-loop

我需要在页面中显示不同的产品。我试着通过一个类开发(我是新手)但是我很遗憾在一段时间内插入$ 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();
              }

1 个答案:

答案 0 :(得分:0)

您在循环中从一个单独的类中创建不同的对象。你是否循环从数据库中获取数据,如果你有一个100行的表格怎么办?你制作一个单一类的100个对象?虽然你每次都传递不同的变量,但这是不合理的。把它放在循环之外。你不需要将vars传递给你班级的构造函数。定义一个方法并每次将它们传递给方法。另外,我建议你从网上下载一些PHP商店脚本,看看他们是如何处理这些信息的。

不要犹豫,进一步询问问题。

祝你好运

相关问题