PHPの授業(DATABASE)
今日のPHPの授業内容
※途中なので、他の日に改造しながら学びます。
index.php
(記事のタイトル一覧を表示するファイル)
<?php require_once dirname(__FILE__).'/func.php'; $dbh = new PDO('mysql:host=localhost;dbname=news0316;charset=utf8','ログインアカウント','ログインパスワード'); // mySQL に接続するための記述。「new」はオブジェクトを作る演算子。 // PDO PHP Data Object データベースを扱う道具箱となるオブジェクトを作る命令。 //var_dump($dbh); $sql = 'SELECT news_article, news_id, news_headline, news_date FROM news'; // SQL文。 SELECT カラム名 FROM テーブル名 $rec = $dbh->query($sql); // -> アロー演算子。 queryを実行。 /*foreach($rec as $v) { echo $v['news_headline'].'<br>'; echo $v['news_date'].'<br>'; }*/ // foreach文 ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/style.css"> <title>PHPでSQLデータを読み込んで表示</title> </head> <body> <div class="container"> <header> <h1>NEWS - DATA BASE</h1> </header> <section> <dl> <?php foreach($rec as $v) { echo '<dt><a href="news.php?news_id='; echo h($v['news_id']); echo '">'; echo h($v['news_headline']); echo '</a></dt>'; echo '<dd>'; echo h($v['news_date']); echo '</dd>'; } ?> </dl> </section> <footer> <p><small>© Silent Cait</small></p> </footer> </div><!-- /.container --> </body> </html>
news.php
(記事の内容を表示するファイル)
<?php require_once dirname(__FILE__).'/func.php'; if(!isset($_GET['news_id'])||!is_numeric($_GET['news_id'])||$_GET['news_id'] <=0){ header('Location:index.php'); exit; } // is_numeric 数値であるかどうかをチェック。数値:true。 $dbh = new PDO('mysql:host=localhost;dbname=news0316;charset=utf8','ログインアカウント','ログインパスワード'); // mySQL に接続するための記述。「new」はオブジェクトを作る演算子。 // PDO PHP Data Object データベースを扱う道具箱となるオブジェクトを作る命令。 //var_dump($dbh); $sql = 'SELECT news_article, news_id, news_headline, news_date FROM news WHERE news_id='.$_GET['news_id'].';'; // SQL文。 SELECT カラム名 FROM テーブル名 $rec = $dbh->query($sql); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/style.css"> <title>NEWS DETAIL</title> </head> <body> <div class="container"> <header> <h1>NEWS DETAIL - DATA BASE</h1> </header> <section> <section> <dl> <?php foreach($rec as $v) { echo '<dt><a href="news.php?news_id='; echo h($v['news_id']); echo '">'; echo h($v['news_headline']); echo '</a></dt>'; echo '<dd>'; echo h($v['news_date']); echo '</dd>'; echo '<dd>'; echo nl2br(h($v['news_article'])); echo '</dd>'; } ?> </dl> </section> </section> <footer> <p><small>© Silent Cait</small></p> </footer> </div><!-- /.container --> </body> </html>