【问题标题】:Mixing PHP and HTML code [closed]混合 PHP 和 HTML 代码 [关闭]
【发布时间】:2023-03-05 14:33:01
【问题描述】:

在搜索了几个小时后,我无法弄清楚这一点。

<?php           
foreach ($myResults as $rowNumber => $myResult) {
if ($rowNumber<$numberOfResults/2) {
print "<h2>";
print render($myResult->field_field_item_category[0]['rendered']['#title']) ;       
print "</h2>";
}?>
  html code here

<?php 
 elseif ($rowNumber>$numberOfResults/2) {   
 print "<h2>";
 print render($myResult->field_field_item_category[0]['rendered']['#title']) ;      
 print "</h2>";
}
} ?>

【问题讨论】:

  • 你想不通什么?你有什么问题?
  • 正是我的想法。你想达到什么目的?错误在哪里?而且我建议使用 echo 而不是 print。
  • 对不起。第一次发帖。解析错误:语法错误,意外的 T_ELSEIF

标签: php


【解决方案1】:

您正试图在 IF 语句的结尾和 ELSEIF 的开头之间回显 HTML 代码

if(something)
{
  // conditional code here
}

// do not put code here

elseif (somethingelse)
{
  // conditional code here
}

【讨论】:

  • 好的。但我想如果我退出 php,我可以通过 HTML 注入一个新的 div,然后再次打开 PHP?
  • 是的,你可以,但是你决定这样做的地方是无效的,并且没有编程意义 :) 你可以在你的条件句的大括号 {} 内这样做
  • 不,php发生,然后html发生,然后循环,php发生,然后html发生,然后循环,php发生,然后html发生,然后循环, php 发生,然后 html 发生,然后循环,等等。
【解决方案2】:

我假设您希望仅在第一个 if 测试为 TRUE 时才显示 html code here 块。如果是这种情况,请将 html 块之前的尾随 } 移动到之后。

<?php           
  foreach ($myResults as $rowNumber => $myResult) {
    if ($rowNumber<$numberOfResults/2) {
      print "<h2>";
      print render($myResult->field_field_item_category[0]['rendered']['#title']) ;       
      print "</h2>";
?>
  html code here
<?php 
     }elseif ($rowNumber>$numberOfResults/2) {   
       print "<h2>";
       print render($myResult->field_field_item_category[0]['rendered']['#title']) ;      
       print "</h2>";
     }
  } 
?>

如果您希望 html code here 跟在两者之后,请将其移出 if 语句的中间。

<?php           
  foreach ($myResults as $rowNumber => $myResult) {
    if ($rowNumber<$numberOfResults/2) {
      print "<h2>";
      print render($myResult->field_field_item_category[0]['rendered']['#title']) ;       
      print "</h2>";
    }elseif ($rowNumber>$numberOfResults/2) {   
      print "<h2>";
      print render($myResult->field_field_item_category[0]['rendered']['#title']) ;      
      print "</h2>";
    }
  } 
?>
  html code here

另外,缩进。它使此类错误的来源更加明显。

【讨论】:

  • 谢谢。我会试试的。为什么我没有工作?我不认为结束和启动 php 有问题吗?
  • 我正在尝试创建 2 个独立的 div,它们可以浮动以制作列。
  • 啊,那是因为您打印的是一个结果,然后是另一个结果。我会更新。还包括问题中的 2 个浮动 div。
【解决方案3】:

&lt;?php?&gt; 之间的部分被解释为 PHP 代码。其余的是纯 HTML 代码。

在 PHP(和任何语言)中,if() { }elseif() { } 之间不能有任何东西,HTML 代码也不能。

elseif 更改为 if 即可。

【讨论】:

    猜你喜欢
    • 2015-05-17
    • 1970-01-01
    • 2010-11-12
    • 2012-01-07
    • 2011-01-05
    • 2010-10-20
    • 2010-12-28
    • 2023-03-11
    • 2010-09-18
    相关资源
    最近更新 更多