Может ли HTML быть встроен внутри инструкции PHP «if»?

Я хотел бы встроить HTML внутри инструкции PHP if, если это даже возможно, потому что я думаю, что HTML появится перед выполнением инструкции PHP if.

Я пытаюсь получить доступ к таблице в базе данных. Я создал раскрывающееся меню в HTML, в котором перечислены все таблицы в базе данных, и как только я выбираю таблицу из раскрывающегося списка, я нажимаю кнопку отправки.

Я использую функцию isset, чтобы увидеть, была ли нажата кнопка отправки и запустить цикл в PHP, чтобы отобразить содержимое таблицы в базе данных. Итак, на данный момент у меня есть полная таблица, но я хочу запустить еще несколько запросов в этой таблице. Отсюда причина, по которой я пытаюсь выполнить больше HTML внутри оператора if. В конечном счете, я пытаюсь либо обновить (1 или более содержимое в строке или несколько строк), либо удалить (1 или более строк) содержимое в таблице. То, что я пытаюсь сделать, это создать другое раскрывающееся меню, которое соответствует столбцу в таблице, чтобы упростить поиск в таблице и переключатели, которые соответствуют тому, хочу ли я обновлять или удалять содержимое в таблице.

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

По запросу здесь elseif и еще (которые вы также можете найти в документах )

 <?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 <? } ?> 

Использование тегов close / open PHP не очень хорошее решение из-за двух причин: вы не можете печатать PHP-переменные в простом HTML, и это делает ваш код очень трудным для чтения (следующий блок кода начинается с конечной скобки } , но читатель не знаю, что было раньше).

Лучше использовать синтаксис 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, как если бы оно было в двойных кавычках, поэтому вы можете печатать переменные, но вам не нужно избегать кавычек, поэтому это очень удобно для печати атрибутов html.

Обратите внимание, что разделитель закрытия должен начинаться с начала строки, а точка с запятой должна быть размещена сразу после нее без других символов ( END_OF_TEXT; ).

Heredoc с поведением строки в одинарных кавычках ( ' ) называется nowdoc . Внутри nowdoc не выполняется синтаксический анализ. Вы используете его так же, как heredoc, только вы помещаете разделитель открытия в одинарные кавычки – echo <<< 'END_OF_TEXT' .

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

Поэтому, если условие равно требуемому значению, тогда php-документ будет запущен «include», а include добавит этот документ в текущее окно, например:

`

 <?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')} ?> 

`