BACK-END/PHP
[PHP] HTML에서 PHP 문법 사용하기
미누치
2019. 10. 21. 23:40
안녕하세요. 이번에는 HTML 안에 PHP를 이용하여 간단한 게시판을 만들어 보도록 하겠습니다.
우선 간단한 예제부터 보여드리겠습니다.
<?
$hello = "안녕하세요.";
$world = "여기는 티스토리 블로그입니다.";
$everyone = "여러분 모두 환영합니다!"
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
</head>
<body>
<?
// 방법1
echo "<p>".$hello."</p>";
?>
<p>
<?
// 방법2
echo $world;
?>
</p>
<p>
<!-- 방법3 -->
<?=$everyone ?>
</p>
</body>
</html>
위와 같이 PHP 코드를 작성하시면 아래와 같은 화면이 나옵니다.
위와 같이 여러 방법들이 있는데 방법3과 같이 작성하면 가장 깔끔하겠죠?
이제 첫번째 이미지와 같은 화면을 구현해보겠습니다.
일단 페이지 최상단에 아래와 같은 변수를 지정해줍니다.
<?php
$res = array(
array('id'=>1, 'name'=>'득구', 'age'=>24, 'email'=>'abc1@abc.com'),
array('id'=>2, 'name'=>'홍삼', 'age'=>22, 'email'=>'abc2@abc.com'),
array('id'=>3, 'name'=>'길동', 'age'=>25, 'email'=>'abc3@abc.com'),
array('id'=>4, 'name'=>'철수', 'age'=>27, 'email'=>'abc4@abc.com')
);
?>
$res라는 변수 안에 연관배열들로 이루어진 배열이 담기게 됩니다.
이 배열을 이용하여 마저 구현해보겠습니다.
<?php
$res = array(
array('id'=>1, 'name'=>'득구', 'age'=>24, 'email'=>'abc1@abc.com'),
array('id'=>2, 'name'=>'홍삼', 'age'=>22, 'email'=>'abc2@abc.com'),
array('id'=>3, 'name'=>'길동', 'age'=>25, 'email'=>'abc3@abc.com'),
array('id'=>4, 'name'=>'철수', 'age'=>27, 'email'=>'abc4@abc.com')
);
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>HTML with PHP</title>
</head>
<style>
/* 못생긴 테이블을 조금이나마 볼만하게 해주기 위한 css */
th, td {
border-bottom:1px solid #000;
}
</style>
<body>
<table>
<thead>
<tr>
<th>no</th>
<th>이름</th>
<th>나이</th>
<th>이메일</th>
</tr>
</thead>
<tbody>
<?
// $i는 0부터 1씩 더하면서 $res배열의 길이보다 작을 때 동안만 for문을 실행한다.
for($i=0; $i<count($res); $i++) {
?>
<tr>
<td><?=$res[$i]['id']?></td>
<td><?=$res[$i]['name']?></td>
<td><?=$res[$i]['age']?></td>
<td><?=$res[$i]['email']?></td>
</tr>
<?
}
?>
</tbody>
</table>
</body>
</html>
for문을 작성하실 때 위와 같이 for문을 열고 닫지 말고 php문법을 닫습니다.
그리고 그 안에 html 코드를 작성한 뒤 php 문법을 열고 for문을 닫아주고 php 문법을 닫습니다.
그러면 for문이 도는 횟수만큼 저 html 코드가 반복되어 출력됩니다.
위와 같이 작성하시면 결과가 첫번째 이미지와 똑같이 나오게 됩니다.
PHP로 게시판을 만들때에 가장 큰 도움이 되지 않을까 싶습니다.
다음에는 이런 방식을 이용하여 게시판을 만들어 보겠습니다.