PHP でテーブルを作成する

Subodh Poudel 2022年6月21日
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;
 }

出力:

データを取得し、HTML テーブルで表にします

その結果、上記の出力セクションに示すように、データベース内のデータを含むテーブルが作成されます。

著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

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