컴퓨터/PHP
[PHP] 가변적인 변수를 HTML Table에 담기
ehong
2019. 11. 6. 20:38
홈페이지에서 입력된 쿼리에 대한 응답을 표에 담아 보여줘야 하는데 쿼리마다 응답의 개수가 달라 변수의 개수에 따라 크기가 변하는 표를 만들어야 했다. 또, 변수가 50으로 정해져 있다고 해도 코드에 행 50개를 다 쓸 수도 없는 노릇.
일단 변수를 담을 표의 html 코드:
<table id="custom_table">
<tr>
<th>번호</th>
<th>항목</th>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
css를 넣어놨기 때문에 브라우저로 띄우면 다음과 같다.

이제 td 태그(table data) 안에 데이터를 넣어야 한다.
데이터가 다음과 같다고 할 때,
$item = array("데스크톱", "노트북", "스캐너", "프린터", "스피커", "태블릿", "휴대폰");
php 코드를 작성하면 다음과 같다.
<?php
$item = array("데스크톱", "노트북", "스캐너", "프린터", "스피커", "태블릿", "휴대폰");
?>
<table id="custom_table">
<tr>
<th>번호</th>
<th>항목</th>
</tr>
<tr>
<?php $count = 0;
foreach($item as $row) :
$count += 1 ?>
<td><?php echo $count; ?></td>
<td><?php echo $row; ?></td>
</tr>
<?php endforeach; ?>
</table>
코드에서 볼 수 있듯이 html 태그 사이사이에 '<?php'로 시작하고 '?>'로 끝나는 php 코드를 넣어주면 된다.
foreach로 시작하는 반복문이 <td> 앞에서 '?>'로 한 번 닫혔다가 </tr> 뒤에 다시 '<?php'로 이어져도 코드가 온전히 작동된다.
결과는 아래와 같다.

이렇게 변수의 개수에 따라 행의 개수가 달라지는 표를 작성하였다.