0

好的,我是编码新手。我会尽量清楚地提出这个问题。我希望实现下表行。

    <table>
    <tr>Product 1 without variations<tr>
    <tr>Product 2 with variations<tr>
       <tr class="variation">Variation 1 of Product 2<tr>
       <tr class="variation">Variation 2 of Product 2<tr>
    <tr>Product 3 without variations<tr>
    </table>

所以在 CodeIgniter 中使用 MVC 模式我需要知道如何实现这一点。理想情况下,我想创建最可重用的代码,在视图文件中使用最少的 PHP。正确的?

我想我的主要问题是,如何从视图中的 foreach 循环$productid返回到函数。$getVariations()甚至更多,这是最好的做事方式吗?

示例代码:

模型 :

    public function getProduct(){

              $query->this->db->query("select * from isc_products");

              return $query->result();


    public function getVariations($productid){

              $query->this->db->query("select * from isc_products_variations where variationproductid = $productid");

              return $query->result();

控制器 :

    public function products() {

        $this->load->model("products");

        $data['products'] = $this->products->getProducts();

        $data['variations'] = $this->products->getVariations($productid);

        $this->load->view('view_products',$data);

        }

看法 :

<!-- table data -->

    <?php foreach ($products as $product) : ?>

        <tr><td><?php echo $product->prodname; ?></td></tr>

        <?php foreach ($variations as $variation) : ?>

               <?php if($variation->parentproductid == $product->productid) : ?> 

                <tr class="variation"><td><?php echo $variation->optionname; ?></td></tr>   

           <?php endif; endforeach; ?>

        <?php endforeach; ?>
4

1 回答 1

0

当您在数据库中查询数据时,请考虑在模型中加入您的产品和变体表。在您的模型中:

  $query->this->db->query("select * from isc_products x,isc_products_variations y where x.productid = y.variationproductid");

这将返回每个产品及其相关的变体。您可以直接获取此数据并将其发送到视图。

于 2013-09-10T02:51:07.120 回答