0

たとえば昨日からのニュースを表示したい。これが私のクエリのようです。それを行う魔法のコード行はありますか?

$query = '
    SELECT a.*, 
           CASE WHEN CHAR_LENGTH(a.alias) THEN  CONCAT_WS(":", a.id, a.alias)
                                          ELSE a.id END as slug,
           CASE WHEN CHAR_LENGTH(b.alias) THEN CONCAT_WS(":", b.id, b.alias) 
                                          ELSE b.id END as catslug,
           b.title as category_title, 
           b.alias as categoryalias, 
           b.params as categoryparams,
           u.name AS author
    FROM #__content as a 
    LEFT JOIN #__categories as b ON a.catid = b.id
    LEFT JOIN #__users AS u ON u.id = a.created_by
    WHERE ' . $where. ' 
    ORDER BY ' . $orderby. ' 
    LIMIT ' . $limit;
4

1 に答える 1

1

コードの「魔法の」行は、WHERE句に含める必要があります。

たとえば、日付がYYYY-MM-DDのみの場合

$query .= 'WHERE b.created_date = '.$db->quote( date('Y-m-d', strtotime('-1 day')) ).'

たとえば、日付列がYYYY-MM-DD H:i:sの場合

$query .= 'WHERE DATE_FORMAT(b.created_date,"%Y-%m-%d") = '.$db->quote( date('Y-m-d', strtotime('-1 day')) ).'
于 2012-04-26T23:53:45.080 に答える