PHP에서 테이블 생성
이 튜토리얼은 PHP에서 테이블을 생성하는 방법을 소개합니다. 데이터베이스 테이블에서 데이터를 읽고 PHP를 사용하여 HTML 테이블에 데이터를 채웁니다.
HTML 테이블 생성 및 PHP에서 데이터베이스의 데이터 표시
PHP 파일의 HTML 태그는 우리가 원하는 스크립트 어디에서나 사용할 수 있습니다. 따라서 PHP 파일에서 테이블을 생성하는 것은 문제가 되지 않습니다.
<table>
태그와 <td>
, <tr>
, <th>
등과 같은 하위 요소를 사용하여 테이블을 만들 수 있습니다. 어려운 부분은 데이터베이스 테이블에서 데이터를 읽고 HTML 테이블에 표시합니다.
이 자습서는 데이터베이스 연결 생성, 쿼리 실행 및 HTML 테이블에 데이터 표시를 안내합니다.
MySQL에서 데이터베이스 및 테이블 생성
첫 번째 단계는 데이터베이스를 생성하고 데이터베이스 내부에 테이블을 생성하는 것입니다. 여기서는 MySQL 데이터베이스를 사용합니다.
다음 명령을 사용하여 MySQL 터미널에 데이터베이스 users
를 생성하십시오.
create database users;
다음으로 테이블을 생성해야 합니다. 그 전에 다음 명령을 사용하여 데이터베이스를 선택해야 합니다.
use users;
테이블을 생성하려면 다음 코드를 사용하십시오.
CREATE TABLE Customers (PersonID int, LastName varchar(255), FirstName varchar(255), City varchar(255));
여기에서 일부 열이 있는 Customers
테이블을 만들었습니다.
MySQL의 테이블에 데이터 삽입
두 번째 단계는 테이블을 일부 행으로 채우는 것입니다. 다음 쿼리를 실행하여 테이블에 데이터를 삽입합니다.
insert into Customers values(1,"Doe","John","Brussels"), (2,"Sparrow","Jack","Delhi");
다음 쿼리는 Customers
테이블에 두 개의 행을 삽입합니다. 삽입 작업 후의 테이블은 다음과 같습니다.
+----------+----------+-----------+---------+
| PersonID | LastName | FirstName | City |
+----------+----------+-----------+---------+
| 1 | Doe | John | Brussels|
| 2 | Sparrow | Jack | Delhi |
+----------+----------+-----------+---------+
PHP에서 데이터베이스 연결 설정
세 번째 단계는 데이터베이스 연결을 설정하는 PHP 코드를 작성하는 것입니다. 이를 위해 절차적 PHP를 사용할 것입니다.
절차적 PHP에서 mysqli_connect()
함수는 데이터베이스 연결을 생성합니다. 서버, 사용자 이름, 암호 및 데이터베이스와 같은 많은 매개변수를 허용합니다.
예제 코드:
$connect = mysqli_connect("localhost", "root", "password321", "users");
위의 예에서 localhost
는 서버, root
는 사용자 이름, password321
은 데이터베이스 암호, users
는 데이터베이스 이름입니다.
자격 증명이 정확하면 데이터베이스 연결이 설정됩니다.
PHP에서 쿼리 작성 및 실행
다음 단계는 쿼리를 실행하는 것입니다. $query
변수를 만들고 Customers
테이블에서 모든 항목을 선택하는 SQL 쿼리를 작성합니다.
그런 다음 mysqli_query()
함수를 사용하여 쿼리를 실행합니다. 여기서 매개변수는 $connect
및 $query
변수입니다.
예제 코드:
$query = "SELECT * FROM Customers";
$result = mysqli_query($connect, $query);
위의 코드는 Customers
테이블에서 모든 데이터를 선택하는 MySQL 쿼리를 실행하고 실행합니다.
데이터를 가져와 HTML 테이블에 표로 만드십시오.
마지막 단계는 테이블에서 데이터를 가져오는 것입니다. mysqli_num_rows()
함수를 사용하여 쿼리의 영향을 받는 행 수를 확인할 수 있습니다.
이 함수는 쿼리의 응답을 매개변수로 사용합니다. 따라서 행 수가 0보다 큰 조건을 사용하여 데이터베이스에서 데이터를 가져올 수 있습니다.
데이터를 가져오기 위해 mysqli_fetch_array()
함수를 사용할 수 있습니다. 또한 쿼리 응답을 매개변수로 사용합니다.
이 함수는 배열 형태로 각 행을 반환합니다.
예를 들어 if
조건에서 $result
변수를 매개변수로 사용하여 mysqli_num_rows()
함수를 사용합니다. if
블록의 본문 내부에 <table>
태그를 사용하여 테이블을 생성합니다.
변수 $table
에 할당하십시오. <tr>
태그 내의 <th>
태그를 사용하여 테이블 헤더를 생성합니다.
다음으로 $result
를 매개변수로 사용하여 mysqli_fetch_array()
함수를 사용하여 데이터를 가져옵니다.
함수를 $row
변수에 할당합니다. 반복을 위해 while
루프 내부의 함수를 사용합니다.
루프는 $row
배열에서 각 열을 추출합니다. 데이터베이스의 열 이름을 인덱스로 사용합니다.
<td>
태그 안에 각 값을 래핑합니다. $table
변수에 결과를 연결합니다.
마지막으로 루프 외부에서 $table
변수를 인쇄합니다.
예제 코드:
if(mysqli_num_rows($result) > 0)
{
$table = '
<table border=1>
<tr>
<th> Person ID </th>
<th>First Name</th>
<th>Last Name</th>
<th>City</th>
</tr>
';
while($row = mysqli_fetch_array($result))
{
$table .= '
<tr>
<td>'.$row["PersonID"].'</td>
<td>'.$row["FirstName"].'</td>
<td>'.$row["LastName"].'</td>
<td>'.$row["City"].'</td>
</tr>
';
}
$table .= '</table>';
echo $table;
}
출력:
결과적으로 위의 출력 섹션에 표시된 것처럼 데이터베이스의 데이터가 포함된 테이블이 생성됩니다.
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn