我是编程和编码的新手,
我传递一个数组来从控制器查看,当我使用print_r函数时,我可以在视图中查看数组数据 但是我希望它们在表格中显示但是会出现错误"消息:未定义索引:pid ....."
我的代码如下:
控制器:
public function bill_data()
{
$data['data2'] = array(
'pid' => $this->input->post('pid[]'),
'proname' => $this->input->post('proname[]'),
'uprice' => $this->input->post('uprice[]'),
'qty' => $this->input->post('qty[]'),
'total' => $this->input->post('total[]'),
'discount' => $this->input->post('discount'),
'subtotal' => $this->input->post('subtotal'),
);
foreach ($data as $entry) {
$discount = $entry['discount'];
$subtotal = $entry['subtotal'];
$pid = $entry['pid'];
$proname = $entry['proname'];
$uprice = $entry['uprice'];
$qty = $entry['qty'];
$total = $entry['total'];
}
$subtotal = $subtotal - $discount;
$d['final_result'] = compact("pid", "proname", "uprice", "qty", "total", "discount", "subtotal");
$this->load->view("invoice", $d);
}
我的观点如下:
<?php foreach ($final_result as $row) { ?>
<table class="table m-t-30">
<thead class="bg-faded">
<tr>
<th>#</th>
<th>Product Name</th>
<th>Unit Price</th>
<th>Quantity</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $row['pid']; ?></td>
<td>dsfdfsdf</td>
<td>upprice</td>
<td>qty</td>
<td>Total</td>
</tr>
</tbody>
</table>
为什么它会给我一个错误?如果我在视图中使用print_r,我可以在视图中完美地看到数据
结果:
答案 0 :(得分:0)
首先print_r你的$ row变量然后检查哪些索引来了并确认pid索引是否存在
答案 1 :(得分:0)
这是因为你正在使用foreach。你的&#34; pid&#34;是一个顶级的关键。如果你预先设置了结果数组,那么$ row将是单个值而不是另一个数组。
这里有2个选项:
1)删除视图中的foreach迭代器
2)将结果包装在数组中:
$d['final_result'][] = compact("pid", "proname", "uprice", "qty", "total", "discount", "subtotal");
您需要的选项取决于您是拥有更多数据集还是只有一个数据集,如果它只有一个,那么只需删除视图中的foreach。
另请注意,<?php echo $row['pid']; ?>
无法正常使用,因为您需要{p}&#39;是一个数组。