0

我想在我的数据库中添加更多列进行搜索,这是我的原始脚本。

public function getProductsByName($name, $limit, $start) {
    $this->db->limit($limit, $start);
    $this->db->order_by("id", "desc"); 
    $this->db->like("name", $name); 
    $query = $this->db->get('products');

    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }

    return false;
}

这是我修改后的脚本,可以在 3 列中找到。

public function getProductsByName($name, $limit, $start) {
   $this->db->limit($limit, $start);
   $this->db->order_by("id", "desc"); 
   $array = array('name' => $name, 'code' => $code, 'ean' => $ean);
   $this->db->like($array); 
   $query = $this->db->get('products');

   if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }

        return $data;
   }

   return false;
}

这里有什么问题?

任何帮助表示赞赏。

4

1 回答 1

1

为了像你说的那样选择数据,你需要准确地告诉你使用的变量$code and $ean。另一件事是data[]你被创建了,没有必要像这样创建一个数组。当你打电话时你会得到同样的结果$query->result();

public function getProductsByName($name, $limit, $start,$code,$ean) {
    $this->db->limit($limit, $start);
    $this->db->order_by("id", "desc"); 
    $array = array('name' => $name, 'code' => $code, 'ean' => $ean);
    $this->db->like($array); 
    $query = $this->db->get('products');

    if ($query->num_rows() > 0) {
        return $query->result();
    }

    return false;
}

希望对你有帮助

于 2012-12-17T11:24:52.330 回答