HTML中可以embeddedPHP“if”语句吗?

我想将HTMLembedded到PHP if语句中,如果它甚至可能,因为我认为HTML会在执行PHP if语句之前出现。

我试图访问数据库中的表。 我在HTML中创build了一个下拉菜单,列出了数据库中的所有表格,当我从下拉列表中select表格时,我点击了提交button。

我使用isset函数来查看提交button是否被按下,并在PHP中运行一个循环来显示数据库中表的内容。 所以在这一点上,我有完整的表,但我想在这个表上运行一些更多的查询。 因此,我试图在if语句中执行更多的HTML的原因。 最终,我试图在表中更新(一行或多行中的一个或多个内容)或删除(一行或多行)内容。 我想要做的是创build另一个下拉对应表中的列,使表search更容易,单选button对应于是否要更新或删除表中的内容。

<?php if($condition) : ?> <a href="http://yahoo.com">This will only display if $condition is true</a> <?php endif; ?> 

根据要求,这里是elseif和其他(你也可以在文档中find)

 <?php if($condition) : ?> <a href="http://yahoo.com">This will only display if $condition is true</a> <?php elseif($anotherCondition) : ?> more html <?php else : ?> even more html <?php endif; ?> 

就这么简单。

只有条件满足时才会显示HTML。

是,

 <?php if ( $my_name == "someguy" ) { ?> HTML GOES HERE <?php; } ?> 

是。

 <? if($my_name == 'someguy') { ?> HTML_GOES_HERE <? } ?> 

使用PHPclosures/打开标签并不是很好的解决scheme,原因有两个:不能用普通的HTML打印PHPvariables,它会使代码非常难以阅读(下一个代码块以尾括号开始} ,但是读者不知道以前是什么)。

更好的是使用heredoc语法。 这是在其他语言(如bash)相同的概念。

  <?php if ($condition) { echo <<< END_OF_TEXT <b>lots of html</b> <i>$variable</i> lots of text... many lines possible, with any indentation, until the closing delimiter... END_OF_TEXT; } ?> 

END_OF_TEXT是你的分隔符(它可以基本上是任何文本,如EOF,EOT)。 之间的一切都被认为是PHP的string,就好像它是在双引号,所以你可以打印variables,但你不必转义任何引号,所以非常方便的打印HTML属性。

请注意,结束分隔符必须从行首开始,而分号必须END_OF_TEXT;其后,而不能包含其他字符( END_OF_TEXT; )。

单引号( ' )中的string行为的heredoc被称为nowdoc 。 nowdoc里面没有parsing。 您可以像使用heredoc一样使用它,只需将开始分隔符放在单引号中,即echo <<< 'END_OF_TEXT'

 <?php if ($my_name == 'aboutme') { ?> HTML_GOES_HERE <?php } ?> 

所以如果条件等于你想要的值,那么PHP文件将运行“包含”,包括将该文件添加到当前窗口,例如:

`

 <?php $isARequest = true; if ($isARequest){include('request.html');}/*So because $isARequest is true then it will include request.html but if its not a request then it will insert isNotARequest;*/ else if (!$isARequest) {include('isNotARequest.html')} ?> 

`