PHP でテーブルを作成する
このチュートリアルでは、PHP でテーブルを作成する方法を紹介します。データベーステーブルからデータを読み取り、PHP を使用して HTML テーブルにデータを入力します。
PHP で HTML テーブルを作成し、データベースからデータを表示する
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 のテーブルにデータを挿入する
2 番目のステップは、テーブルにいくつかの行を入力することです。次のクエリを実行して、テーブルにデータを挿入します。
insert into Customers values(1,"Doe","John","Brussels"), (2,"Sparrow","Jack","Delhi");
次のクエリは、テーブル Customers
に 2つの行を挿入します。挿入操作後のテーブルは次のようになります。
+----------+----------+-----------+---------+
| PersonID | LastName | FirstName | City |
+----------+----------+-----------+---------+
| 1 | Doe | John | Brussels|
| 2 | Sparrow | Jack | Delhi |
+----------+----------+-----------+---------+
PHP でデータベース接続を確立する
3 番目のステップは、データベース接続を確立するための PHP コードを作成することです。この目的のために手続き型 PHP を使用します。
手続き型 PHP では、mysqli_connect()
関数がデータベース接続を作成します。サーバー、ユーザー名、パスワード、データベースなどの多くのパラメーターを受け入れます。
サンプルコード:
$connect = mysqli_connect("localhost", "root", "password321", "users");
上記の例では、localhost
はサーバー、root
はユーザー名、password321
はデータベースパスワード、users
はデータベース名です。
資格情報が正しければ、データベース接続が確立されます。
PHP でクエリを記述して実行する
次のステップは、クエリを実行することです。変数 $query
を作成し、SQL クエリを記述して Customers
テーブルからすべてを選択します。
その後、mysqli_query()
関数を使用してクエリを実行します。ここで、パラメータは $connect
および $query
変数です。
サンプルコード:
$query = "SELECT * FROM Customers";
$result = mysqli_query($connect, $query);
上記のコードは、Customers
テーブルからすべてのデータを選択する MySQL クエリを実行および実行します。
データを取得し、HTML テーブルで表にする
最後のステップは、テーブルからデータをフェッチすることです。mysqli_num_rows()
関数を使用して、クエリの影響を受ける行数を確認できます。
この関数は、クエリの応答をパラメータとして受け取ります。したがって、行数がゼロより大きい条件を使用して、データベースからデータをフェッチできます。
データをフェッチするには、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