Sql sorgu içinde birden çok koşul

1 Cevap php

Ben bugünün tarihi gibi bir tarih var kayıtları dışarı çıkarmak istiyorum.

Ben bu sorgu var

$query = "select * from calendar_items WHERE expiredate LIKE '$todays_date %' 
    or upcoming_event_featured_date like '$todays_date %' 
    ORDER BY expiredate ASC";

Şimdi 3 daha upcoming_event_featured_date en var: upcoming_event_featured_date2, upcoming_event_featured_date3, upcoming_event_featured_date4

Yani dört upcoming_event_featured_date ait (upcoming_event_featured_date, upcoming_event_featured_date2, upcoming_event_featured_date3, upcoming_event_featured_date4) olduğu gibi bir tarih var sonuçları çekecek bir sorgu çalıştırmak istiyorum.

Sorgu böyle bir şey olmazdı?

$query = "select * from calendar_items 
    WHERE expiredate LIKE '$todays_date %' or 
    (upcoming_event_featured_date like '$todays_date %' or 
    upcoming_event_featured_date2 like '$todays_date %' or 
    upcoming_event_featured_date3 like '$todays_date %' or 
    upcoming_event_featured_date4 like '$todays_date %') 
    ORDER BY expiredate ASC";

1 Cevap

Kesinlikle HLGEM dinlemek ve tablo yapısını normale gerekir. Ama sizin için soruyorsun ne için, bu sorgu olasılıkla $ todays_date varsayarak gerçek bir tarih (2009-11-16 gibi) olduğunu çalışacaktır. Eğer biraz daha güvenli olması için olsa da, yakın% taşımanız gerekebilir:

$query = "select * from calendar_items 
WHERE expiredate LIKE '{$todays_date}%' or 
(upcoming_event_featured_date like '{$todays_date}%' or 
upcoming_event_featured_date2 like '{$todays_date}%' or 
upcoming_event_featured_date3 like '{$todays_date}%' or 
upcoming_event_featured_date4 like '{$todays_date}%') 
ORDER BY expiredate ASC";