/* Google Analytics ▽ */ /* Google Analytics △ */

WEB制作の勉強メモ / 猫脳人間

HTML CSS JavaScript ActionScript jQuery WordPress PHP Illustrator Photoshop Flash … 猫サイズの脳でも覚えるぞ と…

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>&copy; 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>&copy; Silent Cait</small></p>
</footer>
</div><!-- /.container -->

</body>
</html>