首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我的if语句没有按预期工作

我的if语句没有按预期工作
EN

Stack Overflow用户
提问于 2018-09-26 02:42:13
回答 1查看 82关注 0票数 0

这段代码根据我在entry_type列上有多少数据来复制元标记,无论entry_type是我所在页面的post还是pagina。它打印出来自ifelsemeta标签。

代码语言:javascript
复制
$mt = $conn->query("SELECT entry_type FROM bn_publicacao")->fetchAll();

foreach ($mt as $FB) {

    if ($FB['entry_type'] == 'pagina'){ 
        echo '<meta property="og:type" content="website">';
    } else{
        echo '<meta property="og:type" content="article">';
        echo '<meta property="article:author" content="">';
        echo '<meta property="article:publisher" content="">';
        echo '<meta property="article:published_time" content="">';
        echo '<meta property="article:modified_time" content="">';
    }

 }

编辑:我解决了副本的问题

代码语言:javascript
复制
$mt = $conn->query("SELECT entry_type FROM bn_publicacao WHERE entry_type IS NOT NULL GROUP BY entry_type")->fetchAll();

foreach ($mt as $FB) {

    if ($FB['entry_type'] == 'pagina'){ 
        echo '<meta property="og:type" content="website">';
    } else{
        echo '<meta property="og:type" content="article">';
        echo '<meta property="article:author" content="">';
        echo '<meta property="article:publisher" content="">';
        echo '<meta property="article:published_time" content="">';
        echo '<meta property="article:modified_time" content="">';
    }

 }

但是我仍然有一个问题,ifelse同时打印出来。

来自print_r的结果

代码语言:javascript
复制
$mt = $conn->query("SELECT entry_type FROM bn_publicacao WHERE entry_type IS NOT NULL GROUP BY entry_type")->fetchAll();

foreach ($mt as $FB) {
print_r($mt); //Result 1

    if ($FB['entry_type'] == 'pagina'){
    print_r($mt); //Result 2

        //code posted on the question

    } else{    
      print_r($mt); //Result 3

        //code posted on the question

    }

}

  • Result 1:

阵列( =>阵列( entry_type =>页面=>页面)1 =>阵列( entry_type => post => post ))阵列( =>阵列( entry_type =>页面=>页面)1 =>阵列( entry_type => post => post ))

  • Result 2:

阵列( =>阵列( entry_type =>页面和=>页面)1 =>阵列( entry_type => post和=> post ))

  • Result 3:

阵列( =>阵列( entry_type =>页面和=>页面)1 =>阵列( entry_type => post和=> post ))

我的代码出了什么问题?我怎么才能解决它呢?

EN

回答 1

Stack Overflow用户

发布于 2018-09-26 02:50:10

fetchColumn只返回一个结果,即fetchColumn。您可以使用fetchAll,它以数组的形式返回所有结果。

您需要遍历结果,因为它将是一个数组。代码如下:

代码语言:javascript
复制
$mtFBs = $conn->query("SELECT entry_type FROM bn_publicacao")->fetchAll();
foreach ($mtFbs as $mtFb) {
   if ($mtFB['entry_type'] == 'pagina'){ 
     echo '<meta property="og:type" content="website">';
   } else{
      echo '<meta property="og:type" content="article">';
      echo '<meta property="article:author" content="">';
      echo '<meta property="article:publisher" content="">';
      echo '<meta property="article:published_time" content="">';
      echo '<meta property="article:modified_time" content="">';
   }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52504823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档