MySQL

【MySQL】PHPでデータベースを表示したHTMLにリンクも埋め込む

PHPでデータベースに登録した値を画面表示して、さらに詳細ページリンクを埋め込む方法を記してます。

値を入力して遷移したページから詳細画面が開くGIF

 補足
PHPでデータベースを表示する方法を読んでおくと、この記事も捗ります!

PHPでデータベースを表示したHTMLにリンクを仕込む

PHPでデータベースを表示したHTMLファイルにリンクを仕込むには、

  • 画面表示PHPとは別にPHPファイルを準備して
  • <a href=~.php""></a>で遷移させる

といった方法で実現します。

 

すぐにサンプルコードを見る↓

 

別に準備するPHPファイルが、画面表示される項目値のリンク先・詳細ページになるわけですね。

 

PHPでデータベースを表示するファイルの内訳

前回に行ったPHPでデータベースを画面表示する際のファイル内容は、

  1. 値を入力するフォームのHTMLファイル
  2. 入力された値をデータベース接続・表示するPHPファイル

といった2つでした。

 

で、今回は別に準備するPHPファイルを作るので全部で3つのファイルを用意するわけです。

  1. 値を入力するフォームのHTMLファイル
  2. 入力された値をデータベース接続・表示するPHPファイル
  3. リンク先の詳細ページとなるPHPファイル

こんな感じっすね↓

フォルダーツリー・ファイルが3つある状態

 

すべてのファイルは同じフォルダーの中に格納しています。

 補足
入力フォーム内容は前回記事のものをそのまま利用しています!

入力フォームに値を入力して登録

<h2>部品名を入力してください。</h2>

<form action="index.php" method="post">
  <textarea name="buhin" cols="40" rows="3" placeholder="登録する部品名を入力"></textarea><br>
  <button type="submit" name="button">登録する</button>
</form>

</main>

リンク先となるPHPファイルのサンプル

今回は詳細ページとして「Details.php」を設けてみました。

 

Details.phpのコード内容は以下のとおりです↓

<main>
<h2>登録した部品名の詳細画面</h2>
<?php
// データーベースtestへ接続
try {
  $db = new PDO('mysql:dbname=test;host=localhost;charset=utf8','root','root');
  // 入力した値をデータベースへ登録
  $count = $db->exec('INSERT INTO 部品登録 SET 部品名="'. $_POST['buhin'] .'",登録日 = NOW()');
  // 登録した件数を表示
} catch (PDOException $e) {
  // 接続できなかったらエラー表示
  echo 'DB接続エラー!: ' . $e->getMessage();
}

$Data = $db->query('SELECT * FROM 部品登録 WHERE id=1');
$Detail = $Data->fetch();
?>
<article>
  <pre><?php print($Detail['部品名']);?></pre>
  <a href="index.php">一覧画面へ戻る</a>
</article>

</main>

詳細ページを開いて動作確認

実際に検索窓にパスを入れて、先のPHPファイルを表示してみると...

http://localhost:8888/memos/Details.php

一件の値が表示されているのが確認できました(^^)

詳細ページを開き動作確認を行った結果

 

実際には詳細画面で表示するレコードの数を「id=1」と指定しているので、

//詳細画面で表示したいレコードidを指定して取得
$Data = $db->query('SELECT * FROM 部品登録 WHERE id=1');

 

現状のファイルの状態ではid=1、対象テーブル「部品登録」のNo1レコード1件のみしか表示できてない状態です^^;

 

任意のレコードを表示させるには...次回記事へ続きます!w

 

まとめ

PHPでデータベースを表示したHTMLにリンクも埋め込む方法でした。

 

ざっくりまとめると、

  • 入力フォームのHTMLファイル
  • DBに接続し取得するPHPファイル
  • 詳細ページとなるPHPファイル

3つのファイルが必要になるところがポイントでしょうか。

 

>PHPでデータベースを取得して画面表示する方法

>【MySQL】PHPでprepareを使って安全にデータベースへ登録する方法

>PHPでMySQLへ入力フォームからデータ登録する方法



  • この記事を書いた人
  • 最新記事
oyakun

oyakun

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

Copyright© OYAKUDACHI.XYZ , 2019 All Rights Reserved.