Php MYSQL获取显示静态页面或普通页面的状态主题
在下面的sql命令中,我想添加一个选项来选择哪些主题必须显示普通文章还是静态页面 在设置表中,我有默认的首页来更改此选项。如果此字段不是0,则sql commad必须是fetch静态页面Php MYSQL获取显示静态页面或普通页面的状态主题,php,mysql,Php,Mysql,在下面的sql命令中,我想添加一个选项来选择哪些主题必须显示普通文章还是静态页面 在设置表中,我有默认的首页来更改此选项。如果此字段不是0,则sql commad必须是fetch静态页面 default\u front\u page是静态页面id,i.id是主题id 所有的帖子,如普通或静态页面,都被放入目录表中,我可以使用post_type field来猜测这篇帖子是正常的还是静态的。我现在在这段代码中遇到了什么问题 SELECT SQL_CALC_FOUND_ROWS i.* ,
default\u front\u page
是静态页面id,i.id是主题id
所有的帖子,如普通或静态页面,都被放入目录表中,我可以使用post_type field来猜测这篇帖子是正常的还是静态的。我现在在这段代码中遇到了什么问题
SELECT
SQL_CALC_FOUND_ROWS i.* ,
c.title AS category_name,
u.name,
u.family,
i.thumb_image,
CONCAT( u.name, ' ', u.family ) AS author,
tumbnail_image_width,
tumbnail_image_height,
CASE (s.sortable)
WHEN 3 THEN 100000000 - i.id
WHEN 2 THEN i.date_time
WHEN 1 THEN i.order_display
END AS SortField
FROM contents i
JOIN categories c ON c.id = i.category
JOIN users u ON u.id = i.posted_by
JOIN settings s ON s.portal = i.portal
WHERE
i.portal = '{$portal_id}'
AND CASE WHEN post_type = 4
THEN date(NOW()) BETWEEN i.from_dateTime AND i.to_dateTime
ELSE post_type = 1
END
AND i.t_status = 1 AND
CASE WHEN s.default_front_page <> 0
THEN i.id = s.default_front_page
END
ORDER BY SortField
LIMIT {$portalSettings['display_post_count']};
选择
SQL\u CALC\u找到\u行i.*,
c、 标题作为类别名称,
u、 名字,
u、 家庭,
i、 拇指图像,
康卡特(u.name),u.family)作为作者,
tumbnail_图像_宽度,
tumbnail_图像_高度,
案件(可分类)
当3时,则100000000-i.id
当2时,则i.date\u时间
当1时,显示i.order\u
以索特菲尔德结束
从目录一
在c.id=i.category上连接类别c
在u.id=i.posted\u上加入用户u
在s.portal=i.portal上加入设置s
哪里
i、 门户=“{$portal_id}”
当post_类型=4时的情况
然后是i.from_dateTime和i.to_dateTime之间的日期(NOW())
ELSE post_类型=1
结束
和i.t_状态=1和
s.default\u首页0时的情况
然后i.id=s.default\u首页
结束
索特菲尔德命令
限制{$portalSettings['display_post_count']};
在WHERE
子句中不需要使用大小写<代码>和
和或
应执行以下操作:
WHERE
i.portal = '{$portal_id}'
AND (
(post_type = 4
AND date(NOW()) BETWEEN i.from_dateTime AND i.to_dateTime
)
OR post_type = 1
)
AND i.t_status = 1
AND (s.default_front_page = 0 OR i.id = s.default_front_page)
案例不是那样的。@JakubKania,如何解决这个问题?你能帮助我吗?