我有代码从db检索值并使用foreach循环显示它。当我点击退货时,它会打开一个弹出窗口。问题是我已经将变量作为rel属性传递,但它只给出了循环中的最后一行值。我需要将product_stock值与我点击返回的产品相对应。这里发生了什么?为什么这是错的?
<?php
if(!empty($product_details))
{
foreach($product_details->result() as $data)
{
?>
<tr class="gradeX">
<td><?php echo $data->product_sku; ?></td>
<td><?php echo $data->product_name; ?></td>
<td class="text_right"><?php echo $data->product_stock; ?></td>
<td class="text_right" ><?php echo $data->product_price; ?></td>
<td class="text_right"><?php echo $data->product_total; ?></td>
<td>
<a id="edit_user" data-toggle="modal" base_url="<?php echo site_url(); ?>" rel="<?php echo $data->product_id; ?>" style="padding-left:7px;" href="#userformedit"><i class="icon-edit"></i></a>
<a onClick = "return confirm('Are you sure want to delete')" style="padding-left:10px;" href="<?php echo site_url();?>products/delete/<?php echo base64_encode($data->product_id).'/'.base64_encode($data->purchase_id)?>"> <i class="icon-remove-circle"></i></a>
<a id="return_product" rel="<?php echo $data->product_stock; ?>" style="padding-left:7px;" href="#userform2" data-toggle="modal"><i class="icon-sort-by-attributes-alt"></i></a>
</td>
</tr>
<?php
}
}
?>
我已经将product_stock用作隐藏如下。但它始终显示与最后一行相同的值。
<input type="hidden" name="return_stock" id="return_stock" value="<?php echo $data->product_stock; ?>" />
我的功能在下面的模型中
function RetriveProductDetailsEdit($pro_id) {
$this->db->select('*');
$this->db->from('tb_product');
$this->db->where('product_id', $pro_id);
$resultrows = $this->db->get();
return $resultrows->result();
;
}
我已经在控制器中通过了这个。我觉得这没什么不错
答案 0 :(得分:1)
您的查询已经返回结果,因此请更改您的foreach,如下所示:
foreach($product_details as $data)
{
....
}
答案 1 :(得分:0)
隐藏也应该放在foreach循环中,并且每行的名称也应该不同,所以将name =“return_stock”替换为name =“return_stock_product_id;?&gt;”。在这里,我使用了产品ID,因为它将是独一无二的。