【问题标题】:Unexpected character on the end of array returned from controller to view in codeigniter从控制器返回到在 codeigniter 中查看的数组末尾的意外字符
【发布时间】:2015-02-19 14:06:57
【问题描述】:

我的 codeigniter 视图中有一个奇怪的问题。在我使用 codeigniter 的 webapp 中,我将从 codeigniter 模型返回的行数组发送到控制器,然后从那里发送到视图。我的问题是,当我在视图中打印数组时,我在数组末尾得到一个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');
}

谁能帮我找出哪里出错了。提前致谢。

【问题讨论】:

  • 尝试做一些debug。提供的代码不足以产生你的问题。提示:注释你所有的代码,并一一取消注释,找出问题所在和原因。

标签: php arrays codeigniter


【解决方案1】:

最后的 1 表示您很可能回显了您的 print_r。尝试改用var_dump .. 也将您的 SQL 查询更改为:SELECT * FROM tab_products WHERE quantity &lt;= 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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多