10/10/2018, 11:00

Xử lý điều kiện Where trong codeigniter

Thông thường trong codeigniter mình dùng như thế này để thêm điều kiện where vào câu truy vấn

$this->db->where("id_artical",$item);
$query=$this->db->get('tbl_artical');

Diễn giải ra câu truy vấn là:

$sql= "SELECT * FROM tbl_artical WHERE id_artical=1"; (vd: $item=1)

Bây giờ mình em muốn xử dụng câu sql
$sql= "SELECT * FROM tbl_artical WHERE id_artical!=1";

thì trong codeigniter viết như thế nào. Bác nào biết thì giúp em với

Thanks các bác trước nha.
tuanit85 viết 13:02 ngày 10/10/2018
Được gửi bởi tan.dang
Thông thường trong codeigniter mình dùng như thế này để thêm điều kiện where vào câu truy vấn

$this->db->where("id_artical",$item);
$query=$this->db->get('tbl_artical');

Diễn giải ra câu truy vấn là:

$sql= "SELECT * FROM tbl_artical WHERE id_artical=1"; (vd: $item=1)

Bây giờ mình em muốn xử dụng câu sql
$sql= "SELECT * FROM tbl_artical WHERE id_artical!=1";

thì trong codeigniter viết như thế nào. Bác nào biết thì giúp em với

Thanks các bác trước nha.
Những quy tắc trên kia chỉ là thư viện hỗ trợ cho việc viết code php của bạn trở nên nhanh hơn thôi. Còn bạn muốn viết code php hay truy vấn sql một cách cổ điển thì vẫn viết như bình thường.
- $query = "SELECT * FROM tbl_artical WHERE id_artical=1";
- $sql = mysql_query($query);
Nhưng sẽ có nhiều người đặt ra câu hỏi bạn sử dụng codeigniter để làm gì
s.code viết 13:08 ngày 10/10/2018
$this->db->where("id_artical !=",$item);
$query=$this->db->get('tbl_artical');

Hoặc

$this->db->where("id_artical != '$item'");
$query=$this->db->get('tbl_artical');


hoặc

$this->db->where_not_in("id_artical", array($item));
$query=$this->db->get('tbl_artical');
kevin.1709 viết 13:08 ngày 10/10/2018
Thì bạn đã có bằng rồi thì thêm != nữa cũng dễ mà^^

Đây là khởi tạo giá trị mặc định cho nó khác 1 luôn!
$this->db->where("id_artical !=",'1');
$this->db->get("tbl_artical");

Không thì có thể sử dụng giá trị truyền vào
$this->db->where("id_artical !=",$id); //$id truyền vào
$this->db->get("tbl_artical");

Có một cách kết hợp 2 câu where với nhau nữa trong trường hợp nếu bạn muốn lấy id_artical > 5 và id_artical != 8;

$this->db->where("id_artical >",'5');
$this->db->where("id_artical !=",'8');

Tuơng tự như or cũng vậy thôi !^^

$this->db->where("id_artical !=",'5');
$this->db->orwhere("id_artical !=",'8');

Thân
pcdinh viết 13:08 ngày 10/10/2018
Tại sao chỉ viết 1 câu query đơn giản lại cần cả đống code kiểu OOP nửa vời thế nhỉ? Viết query luôn cho đỡ rối mắt không
bka viết 13:02 ngày 10/10/2018
có những cái đơn giản nhiều khi người ta cố tình làm cho nó phức tạp lên vậy đó.
hoainguyenduc viết 13:11 ngày 10/10/2018
Sao bạn không dùng như zậy :
Code:
$sql= "SELECT * FROM tbl_artical WHERE id_artical !=1"
$this->db->query($sql);
Những câu SQL đơn giản thì bạn làm như vậy.
Khi nào có xử lý phức tạp thì mới dùng tới lớp db của CI.
Thân!
chothapcam.net viết 13:02 ngày 10/10/2018
Dùng thành phần nào của cái nào (CodeIgniter hay Zend hay gì gì nữa) mà chưa rõ thì bạn cứ mở core của nó cụ thể là các class cơ sở của nó ra xem là biết cách liền
kenphan19 viết 13:08 ngày 10/10/2018
Nhiều khi rắc rối nó cũng có lợi của nó. Viết như thế là viết theo cách mà CI đã áp đặt, và chắc hẳn nó có support nhiều db engine ... MS ACCESS, SQL, SQLITE, blah, blah ... theo mình nghĩ là thế...
snoob_clo4 viết 13:01 ngày 10/10/2018
Được gửi bởi pcdinh
Tại sao chỉ viết 1 câu query đơn giản lại cần cả đống code kiểu OOP nửa vời thế nhỉ? Viết query luôn cho đỡ rối mắt không
Có những cái đã trở thành thối quen rùi
Bài liên quan
0