概要
PHP 学習メモ。ヒアドキュメントについて。
内容
- ヒアドキュメント
1. ヒアドキュメント
ヒアドキュメントとは:
文字列を区切る別の方法としてヒアドキュメント構文 ("<<<") があります。この場合、ある ID (と、それに続けて改行文字) を <<< の後に指定し、文字列を置いた後で、 同じ ID (終端ID) を括りを閉じるために置きます。
上記の「ID」とは次の例の END
のこと:
<?php echo <<<END test END;
ヒアドキュメントの中に変数を埋め込むことができる:
<!-- 商品リストを products テーブルから取得して表示 --> <?php include "../inc/dbinfo.inc"; // データベース接続 $connection = mysqli_connect( DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT ); // クエリ実行 $result = mysqli_query($connection, "SELECT * FROM products"); // クエリ結果から HTML のテーブルレコードを生成 while($query_data = mysqli_fetch_row($result)) { $html = <<<END <tr> <td>{$query_data[1]}</td> <td>{$query_data[2]}</td> <td> <form method='post'> <input type='hidden' name='product_id' value='{$query_data[0]}'> <input type='hidden' name='product_name' value='{$query_data[1]}'> <input type='hidden' name='product_price' value='{$query_data[2]}'> <input type='submit' value='カートに追加'> </form> </td> </tr> END; echo $html; } mysqli_free_result($result); mysqli_close($connection); ?>
上記のコードを保存したファイルを get_products.php
とし、次のようにテーブルの中で呼び出すことで、動的にテーブルを表示することができる:
<!DOCTYPE html> <html> <head> <title>商品リスト</title> </head> <body> <h1>商品リスト</h1> <table border="1" cellpadding="10" cellspacing="1"> <tr> <td>商品名</td> <td>価格</td> <td>カートに追加</td> </tr> <!-- テーブル表示 --> <?php require 'get_products.php'; ?> </table> </body> </html>