演習課題「特定のジョブの詳細画面を作る」
右の環境には、MySQLからjobsテーブルの特定ジョブの情報を表示するプログラムが作成してあります。テンプレートのprofile.tpl.phpを修正して、以下のカラムを箇条書きで表示してください。
- id
- job_name
- vitality
- strength
データの指定には、以下のようにGETメソッドでidを指定します。
http://localhost/~ubuntu/sql.php?id=1
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#08:特定のプレイヤーを表示する2
ここでは、PHPを使って、簡単なWebアプリケーションを作ります。RPGのプレイヤー一覧から、各プレイヤーの詳細情報を表示しましょう。今回は、先ほどの続きとして、特定のプレイヤー情報を表示するテンプレートを作成します。
public_html/show_player.php<?php
$pdo = new PDO('mysql:host=localhost; dbname=mydb; charset=utf8','root','');
if(isset($_REQUEST['id'])) {
$id = $_REQUEST['id'];
}
$sql = 'SELECT players.id, name, level, job_name
FROM players LEFT JOIN jobs ON jobs.id = players.job_id
WHERE players.id = :id';
$statement = $pdo->prepare($sql);
$statement->bindValue(':id', $id, PDO::PARAM_INT);
$statement->execute();
$player = $statement->fetch(PDO::FETCH_ASSOC);
$statement = null;
$pdo = null;
$message = 'This is piaza';
require_once 'views/profile.tpl.php';
public_html/views/profile.tpl.php<!DOCTYPE html>
<html lang='ja'>
<?php include('header.inc.php'); ?>
<body>
<h1>Player profile</h1>
<p><?= $message ?></p>
<ul>
<li>ID:<?= $player['id'] ?></li>
<li>名前:<?= $player['name'] ?></li>
<li>職業:<?= $player['job_name'] ?></li>
<li>レベル:<?= $player['level'] ?></li>
</ul>
<p><a href='index.php'>リストに戻る</a></p>
<?php include('footer.inc.php'); ?>
</body>
</html>
Webアプリ開発入門 PHP+MySQL編
https://paiza.jp/works/webapplicationlamp/primer
DB/SQL入門編
https://paiza.jp/works/sql/primer
PDOで接続、SELECT、プリペアドステートメントとは(PHPでMySQLに接続) - Qiita
https://qiita.com/tabo_purify/items/d1166236f3b03c7be60d