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

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

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

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

< ?php if($condition) : ?> This will only display if $condition is true < ?php endif; ?> 

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

 < ?php if($condition) : ?> This will only display if $condition is true < ?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 lots of html $variable 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')} ?> 

`