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 に答える