好的,我是编码新手。我将尽量清楚地提出这个问题。我希望实现下表行。
<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; ?>
当您在数据库中查询数据时,请考虑在模型中联接产品和变体表。在您的模型中:
$query->this->db->query("select * from isc_products x,isc_products_variations y where x.productid = y.variationproductid");
这将返回每个产品及其关联的变体。您可以直接获取此数据并将其发送到视图。