▲TOPへ戻る

【PHP】新着情報をページネーションで表示する。#2 MySQLでデータベースに接続して、データを取得し、HTMLに表示する方法

今回は2回目です。一回目はこちらから。

データベースに接続する

phpのファイルを準備

xamppのhtdocsのフォルダの中にphpファイルを作成します。

データベース

前回に設定したユーザアカウントを使います。

データベース

以下のように記述します。dbname$user$passはご自身で決めたものを記述してください。それ以外はコピペで構いません。

 <?php   
    $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8';
    $user = 'blog-user';
    $pass = '12345';
    
        try {
            $dbh = new PDO($dsn,$user,$pass,[
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            ]);
            echo '接続成功';
        } catch(PDOException $e) {
            echo '接続失敗'. $e->getMessage();
            exit();
        };
  ?>

phpファイルを開いてみよう

初心者の方は注意ですが、phpファイルを開くとき、相対パスで開くと、コードがそのまま表示されてしまいます。

C:\xampp\htdocs\database.php

相対パスではなく、以下のように開きます。

http://localhost/database.php

データベース名、ユーザー名、パスワードが正しければ、「接続成功」と表示されるはずです。

「接続成功」したら、echo '接続成功'削除しておきましょう。

データベースから情報を得る

続けて、以下のように記述しましょう。

 //➀sqlの準備
    $sql = 'SELECT * FROM blog';
    //➁sqlの実行
    $stmt = $dbh->query($sql);
    //③sqlの結果を受けとる
    $result = $stmt->fetchAll(\PDO::FETCH_ASSOC); 

ブラウザに表示しよう。

続けて以下のように記述しましょう。とりあえず、ブラウザに表示するだけの目的なので、すごく簡単なコードです。

  foreach($result as $post) :
      echo $post['id'] ;
      echo '<br>';
      echo $post['title'];
      echo '<br>';
      echo $post['category'];
      echo '<br>';
      echo $post['date'];
      echo '<br>';
  endforeach; 
  }

ブラウザで表示すると

データベース

まとめ

今回は、データベースに接続し、データを取得し、ブラウザに表示するまでを解説しました。初めてこれができると感動します。

次は、取得したデータをきれいに表示できるようにします。さらにはこれをページネーションで表示する方法を紹介します。

profile

パソコン好きなガオ

コロナ禍によるステイホームを機にプログラミングを学ぶ。パソコンに関してはプロではないが、ちょっと詳しい程度。

パソコン

javascript

カメラ

ブログ