2016-04-09 21 views
1

Mysql'de arkadaş listesi almak için bir sorgu yazıyorum. Sorgu sonucu doğru şekilde alıyor.mysql multiple "AND" koşullu düzgün çalışmıyor

: Ben koşulu ve durumu aşağıdaki ekleyin

SELECT (
     SELECT COUNT(*)    
     FROM 
      cpo_conversation_reply    
     WHERE 
      user_id_fk = u.id 
      AND user_id_rec = $user_id    
      AND read_unread_status =0 
      AND c.property_id = p_id 
    ) AS unread_msg, 
    u.id AS user_id, c.c_id, u.first_name, u.last_name, u.user_name, 
    u.online_status AS loginstatus, c.user_one, c.user_two, u.user_img, 
    c.property_id, p.locality, p.city, c.online_status   
FROM 
    cpo_conversation c, 
    property_register u, 
    property_for_sale p   
WHERE 
    CASE 
     WHEN c.user_one = '$user_id' THEN c.user_two = u.id      
     WHEN c.user_two = '$user_id' THEN c.user_one = u.id     
    END    
    AND (
     c.user_one = '$user_id' 
     OR c.user_two = '$user_id'    
    )          
    AND p.id = c.property_id   
ORDER BY 
    c.c_id DESC 

Şimdi ben sildiniz sohbet var arkadaşlar gizlemek istediğiniz .. Bunun için

:

Bu

kullanıyorum sorgu
c.hide_chat_1 != '1' OR c.hide_chat_2 != '1' 

sonra, bu sorgu şu şekildedir:

SELECT (
     SELECT COUNT(*)     
     FROM 
      cpo_conversation_reply     
     WHERE 
      user_id_fk = u.id 
      AND user_id_rec = $user_id     
      AND read_unread_status =0 
      AND c.property_id = p_id     
    ) AS unread_msg, 
    u.id AS user_id, c.c_id, u.first_name, u.last_name, u.user_name, 
    u.online_status AS loginstatus, c.user_one, c.user_two, u.user_img, 
    c.property_id, p.locality, p.city, c.online_status     
FROM 
    cpo_conversation c, 
    property_register u, 
    property_for_sale p     
WHERE 
    CASE 
     WHEN c.user_one = '$user_id' THEN c.user_two = u.id     
     WHEN c.user_two = '$user_id' THEN c.user_one = u.id     
    END 
    AND (
     c.user_one = '$user_id'     
     OR c.user_two = '$user_id'     
    )     
    AND (
     c.hide_chat_1 != '1'     
     OR c.hide_chat_2 != '1'     
    )     
    AND p.id = c.property_id     
ORDER BY 
    c.c_id DESC 

Ancak sohbet durumunu gizleyen arkadaşlarınız gizlenmiyor 1.

Bu konuda bana yardımcı olan var mı?

cevap

0

bunu kullanın yerine:

c.hide_chat_1 <> '1' 
OR c.hide_chat_2 <> '1' 
+0

onun c.hide_chat_1 ve c.hide_chat_2 olarak tanımlanır ne –

+0

@Azad Chouhan çalışmıyor? Sayısal türler ise, "c.hide_chat_1 <> 1 veya c.hide_chat_2 <> 1" tırnak işaretleri olmamalıdır. – Tibrogargan

+0

evet sayısal ve ben sayısal olarak kullanıyorum ama hala bana tüm kayıtları gösteriyor. Hide_chat_1 veya hide_chat_2 kullanıcısının kim olduğunu göstermek istiyorum 0 –