whereで条件をつける部分でifで分岐する方法。

例として、ブログの公開期限があり、取得するときに現在の日付を基準とする場合など。

$SQL = "SELECT * FROM data WHERE data.del = 0 AND data.view = 0 AND (
    if( everyview = 0,
        viewstartdate < now( ) AND viewenddate > now(),
        1=1 )
    )
    ORDER BY topic_data.id DESC LIMIT 5";

[記述式]

if(条件, trueの場合の式, falseの場合の式)