我的代码点火器视图中出现了一个奇怪的问题。在我使用codeigniter的webapp中,我将从codeignite器模型返回的行数组发送到控制器,并从那里发送到视图。我的问题是,当我在视图中打印数组时,在数组的末尾会得到一个1
。它看起来如图所示:
Array ( [0] => stdClass Object ( [id] => 12 [item_code] => code1 [item_name] => part [brand] => qwerty [quantity] => 3 [retail_price] => 123 [cost] => 145 [alert_quantity] => 10) ) 1
即使我没有从模型中返回行,当我计算数组的计数时,我仍然会得到这个1
。我不明白怎么了。我被困在这里两天了。
这是我的代码:
型号:product_Model.php
public function alertproducts()
{
$myQuery = "select * FROM tab_products";
$q = $this->db->query($myQuery);
if( $q->num_rows() > 0 )
{
foreach (($q->result()) as $row)
{
$qty=$row->quantity;
$alertqty=$row->alert_quantity;
if($qty<=$alertqty)
{
$id[]=$row;
}
}
if(!empty($id))
{
return $id;
}
}
return FALSE;
}
控制器:product.php
public function alertproduct()
{
$data['alertproduct']= $this->product_model->alertproducts();
$this->load->view('commons/header');
$this->load->view('productalerts',$data);
$this->load->view('commons/footer');
}
有人能帮我找出哪里出了问题吗。提前谢谢。
末尾的1表示您很可能已响应print_r
。请尝试使用var_dump
。。还可以将SQL查询更改为:SELECT * FROM tab_products WHERE quantity <= alert_quantity
,或者更好地使用Codeigniter的活动记录/查询生成器,其方式更简洁,如
public function alertproducts() {
$this->db->select();
$this->db->from("tab_products");
$this->db->where("quantity <= alert_quantity");
$q = $this->db->get();
if ($q->num_rows() > 0) {
return $q->result_array();
}else{
return false;
}
}