我创建了两个表。一个是abprodut_detail,另一个是tbproduct_detail
1.abproduct_deatil结构
id product_id product_name cost_price selling_price
7 4 Alentin DS 400 Tablet 55 60
我创建了一个像这样的表单
<table class="table table-borderd table-hover">
<thead>
<tr>
<th>Product Name</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
<th><input type="button" class="btn btn-primary addmore" value="+"></th>
</tr>
</thead>
<tbody id="itemlist2">
<tr id="tr_1">
<td class="prod_c">
<select class="select-product form-control" id="itemName_1" name="product_name[]">
<option value="">
</option>
<?php
foreach ($product as $key ):
?>
<option value="<?php echo $key['id'] ?>">
<?php echo $key['product_name'] ?>
</option>
<?php endforeach; ?>
</select>
</td>
<td>
<input type="text" name="price[]" id="price_1" class="price form-control" value="" data-cell="C1">
</td>
<td><input type="text" data-cell="D1" name="quantity[]" id="quantity_1" class="qty form-control"></td>
<td><input type="text" data-cell="E1" name="discount[]" id="discount_1" class="form-control"></td>
<td><input type="text" data-cell="F1" data-formula="(C1*D1)-(C1*D1*E1/100)" name="total[]" id="total_1" class="amount form-control"></td>
</tr>
</tbody>
</table>
我选择来自abproduct_detail的所有数据并插入到tbproduct_detail。插入到tbproduct_detail后看起来就像这个。这意味着从选择选项i存储的产品ID号到product_name。
2.tbproduct_detail结构
id product_id product_name quantity price
19 16 7 5 60
我想在我的编辑视图页面上显示这样的结构
id product_id product_name quantity price
19 16 Alentin DS 400 Tablet 5 60
您会注意到abproduct_deatil,id = tbproduct_detai,product_name
我想在编辑视图页面上合并2个表格和查看数据。
我的编辑视图页
<thead>
<tr>
<th>ProductName</th>
<th>Quantity</th>
<th>Price</th>
</tr>
</thead>
<tbody class="detail">
<?php
if($rows->num_rows() > 0)
{
foreach($rows->result() as $d)
{
?>
<tr>
<td><input type="text" value="<?= $d->product_name ?>" name="product_name[]" class="form-control"></td>
<td><input type="text" value="<?= $d->quantity ?>" name="quantity[]" class="form-control"></td>
<td><input type="text" value="<?= $d->price ?>" name="price[]" class="form-control"></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
我的控制器
public function edit($id)
{
$data['rows']= $this->db->query("SELECT * FROM tbproduct_detail WHERE product_id = '$id'");
$this->load->view('product/edit',$data);
}
我不知道怎么做?请帮我。我是这个论坛的新手,也是codeigniter的新手。
答案 0 :(得分:0)
尝试在控制器中执行以下查询。
$data['rows']= $this->db->query("SELECT a.id, a.product_id, b.product_name, a.quantity,a.price FROM tbproduct_detail a, abprodut_detail b WHERE a.product_name= b.id AND a.product_id = '$id'");
关闭主题,最好使用模型文件来编写查询。
答案 1 :(得分:0)
在您的控制器中使用JOIN
查询。
您的预期查询是:
select a.id, a.product_id, b.product_name, a.quantity, a.price
from tbproduct_detail a join abproduct_deatil b
on a.product_name = b.id WHERE a.product_id = '$id'
所以,最终代码是
public function edit($id)
{
$data['rows']= $this->db->query("select a.id, a.product_id, b.product_name, a.quantity, a.price
from tbproduct_detail a join abproduct_deatil b
on a.product_name = b.id WHERE a.product_id = '$id'");
$this->load->view('product/edit',$data);
}