Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL获取显示静态页面或普通页面的状态主题_Php_Mysql - Fatal编程技术网

Php MYSQL获取显示静态页面或普通页面的状态主题

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.* ,

在下面的sql命令中,我想添加一个选项来选择哪些主题必须显示普通文章还是静态页面

在设置表中,我有默认的首页来更改此选项。如果此字段不是0,则sql commad必须是fetch静态页面

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,如何解决这个问题?你能帮助我吗?