PHP "if"문에 HTML을 포함시킬 수 있습니까?
가능하다면 HTML if 문 안에 HTML을 삽입하고 싶습니다. 가능한 경우 HTML if 문이 실행될 때 HTML 앞에 HTML이 나타날 것이라고 생각하기 때문입니다.
데이터베이스의 테이블에 액세스하려고합니다. 데이터베이스의 모든 테이블을 나열하는 풀다운 메뉴를 HTML로 만들었으며 풀다운에서 테이블을 선택하면 제출 버튼을 누릅니다.
isset 함수를 사용하여 제출 버튼이 눌 렸는지 확인하고 PHP에서 루프를 실행하여 데이터베이스의 테이블 내용을 표시합니다. 따라서이 시점에서 전체 테이블이 있지만이 테이블에서 더 많은 쿼리를 실행하고 싶습니다. 따라서 if 문에서 더 많은 HTML을 실행하려고하는 이유입니다. 궁극적으로, 나는 테이블에서 내용을 업데이트하거나 (한 행 이상 또는 여러 행으로) 하나 이상의 행을 삭제하려고합니다. 내가하려는 것은 테이블의 열에 해당하는 다른 풀다운을 생성하여 테이블을 쉽게 검색하고 테이블의 내용을 업데이트하거나 삭제할지 여부에 해당하는 라디오 버튼을 만드는 것입니다.
<?php if($condition) : ?>
<a href="http://yahoo.com">This will only display if $condition is true</a>
<?php endif; ?>
요청에 따라 elseif와 else가 있습니다 ( 문서 에서도 찾을 수 있습니다 )
<?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
<? } ?>
PHP close / open 태그를 사용하는 것은 두 가지 이유 때문에 좋은 해결책이 아닙니다. 일반 HTML로 PHP 변수를 인쇄 할 수없고 코드를 읽기 어렵게 만듭니다 (다음 코드 블록은 대괄호로 시작 }
하지만 독자는 이전에 뭔지 모르겠다).
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 문서는 "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')}
?>
`
<?php if ($my_name == 'aboutme') { ?>
HTML_GOES_HERE
<?php } ?>
나는 이것이 오래된 게시물이라는 것을 알고 있지만 html과 php를 섞지 말 것을 제안하는 단 하나의 답변 만 있다는 것이 정말 싫어요. 콘텐츠를 혼합하는 대신 템플릿 시스템을 사용하거나 기본 템플릿 시스템 자체를 만들어야합니다.
PHP에서
<?php
$var1 = 'Alice'; $var2 = 'apples'; $var3 = 'lunch'; $var4 = 'Bob';
if ($var1 == 'Alice') {
$html = file_get_contents('/path/to/file.html'); //get the html template
$template_placeholders = array('##variable1##', '##variable2##', '##variable3##', '##variable4##'); // variable placeholders inside the template
$template_replace_variables = array($var1, $var2, $var3, $var4); // the variables to pass to the template
$html_output = str_replace($template_placeholders, $template_replace_variables, $html); // replace the placeholders with the actual variable values.
}
echo $html_output;
?>
HTML에서 (/path/to/file.html)
<p>##variable1## ate ##variable2## for ##variable3## with ##variable4##.</p>
The output of this would be:
Alice ate apples for lunch with Bob.
참고URL : https://stackoverflow.com/questions/722379/can-html-be-embedded-inside-php-if-statement
'Programming' 카테고리의 다른 글
GUID가 항상 고유하다고 가정해도 안전합니까? (0) | 2020.07.29 |
---|---|
이미 사용중인 주소-bind (2) (Errno :: EADDRINUSE) (0) | 2020.07.29 |
씬 웹 서버 :`start_tcp_server ': 자식 브랜치 체크 아웃 후 수락 자 (RuntimeError) (0) | 2020.07.29 |
`textField : shouldChangeCharactersInRange :`를 사용하여 현재 입력 된 문자를 포함한 텍스트를 어떻게 얻습니까? (0) | 2020.07.29 |
PHP에서 유닉스 타임 스탬프에 24 시간을 어떻게 추가합니까? (0) | 2020.07.29 |