Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 <;/部门>;在其他情况下,如果_Php_Html_Loops_If Statement - Fatal编程技术网

Php <;/部门>;在其他情况下,如果

Php <;/部门>;在其他情况下,如果,php,html,loops,if-statement,Php,Html,Loops,If Statement,(译文)​​对于谷歌,很抱歉。)需要评估循环中的这个条件。如果为true,则关闭(在外部打开),添加并重播循环。我的问题是,在“elsif”中,当关闭第一个div时,它没有显示以下内容。第一个“如果”很完美 <?php if($adcount == 8 and $bbb == 8 and $paged == 0) { ?> </div> <div id="adds-inner" class="col-md-12 col-sm-12">

(译文)​​对于谷歌,很抱歉。)需要评估循环中的这个条件。如果为true,则关闭
(在外部打开),添加
并重播循环。我的问题是,在“elsif”中,当关闭第一个div时,它没有显示以下内容。第一个“如果”很完美

<?php if($adcount == 8 and $bbb == 8 and $paged == 0) { ?>
    </div>
    <div id="adds-inner" class="col-md-12 col-sm-12">
        <iframe id="my_ad" src="/ad.html" scrolling="no" frameborder="0" style="width:100%;"></iframe>
    </div>
<?php } else if($adcount == 8 and $bbb == 8 and $paged > 0) { ?>
    <p> this is shown </ p> 
    </div>
    <p> Incredibly, this does not </ p> 
    <div id="adds-inner" class="col-md-12 col-sm-12">
        <iframe id="my_ad" src="/ad2.html" scrolling="no" frameborder="0" style="width:100%;"></iframe>
    </div>
<?php } else { ?>
    </div>
<?php } ?>

如图所示
令人难以置信的是,事实并非如此
更新


问题是由于插件(无限滚动)配置错误,php代码工作正常。感谢大家的支持,并为这个错误感到抱歉。

我认为问题不在于你所认为的问题。正如@JoshfromQaribou在这篇评论中所说的,我们可以将
从if-else语句中去掉,因为不管逻辑如何,都需要它。但问题似乎在于你的else if声明从未达成。如果没有看到完整的代码,我就说不出来,但是如果你只得到
,而没有得到其余的代码,那么该代码永远不会被访问,它会直接转到其他代码

请尝试以下代码:

  </div> <?php #<----- See how I moved this out of each below. ?> 
<?php if($adcount == 8 and $bbb == 8 and $paged == 0) { ?>
  <br />First Condition<br />
  <div id="adds-inner" class="col-md-12 col-sm-12">
    <iframe id="my_ad" src="/ad.html" scrolling="no" frameborder="0" style="width:100%;"></iframe>
  </div>
<?php } else if($adcount == 8 and $bbb == 8 and $paged > 0) { ?>
  <br />Second Condition<br />
  <div id="adds-inner" class="col-md-12 col-sm-12">
    <iframe id="my_ad" src="/ad2.html" scrolling="no" frameborder="0" style="width:100%;"></iframe>
  </div>
<?php } else { ?>
    <br />No conditions met.<br />
<?php } ?>
Done with conditions.

只要复制并通过代码所在的位置。不要做任何更改。

您是否尝试了
回显
您的html,而不是将其放在那里。我发现有时使用这样的html会给我带来错误,所以我通常用单引号回送和包装html。

如果每个条件都以
开头,那么为什么要将
放在每个条件块中?只需取出
并将其移动到顶部,然后移除
其他{
也一样,因为它不再有用了。你是对的,我试过很多东西,犯了这个错误。我已经改变了。thanks@JorgeAdriánsolimaninglese我的答案解决了你的问题吗?如果是,请打勾。如果不是,请让我知道,我会帮助你。为了简单起见:你告诉php将一些东西输出到我创建的html文档中n不要一开始就把它放在html文档上。它还破坏了语法突出显示,没有理由用PHP的一部分来回送整个html文档。“像那样使用html”不会给你带来bug。你所建议的方式会让你制作像
这样难看的php。你可以用双引号让它看起来不那么难看,但你说单引号和不那么难看仍然比漂亮更难看。我想这是他们各自的想法。我想,在花更多时间在php(或Ruby等)上之后,你会改变主意这样做。你可以按你喜欢的方式来做。我只是想让你知道,按正常方式做是安全的(而且更常见)。谢谢你的回答。代码太长,无法在这里共享,只需告诉你,如果你正在输入“elseif”…我修改了代码,以便我检查时你可以看到
  </div>
<?php if($adcount == 8 && $bbb == 8) { ?>
  <div id="adds-inner" class="col-md-12 col-sm-12">
    <iframe id="my_ad" src="<?php if($paged==0) echo "/ad.html" else if($paged > 0) echo "/ad2.html" ?>" scrolling="no" frameborder="0" style="width:100%;"></iframe>
  </div>
<?php } ?>