PHP・MySQLでつくるカレンダー開発講座

予定の保存・編集・削除・検索ができるカレンダーアプリをゼロから開発していきます。

この講座は

  • PHP と MySQL で何か開発してみたい
  • ウェブアプリの仕組みを学びたい
  • PHP を学んで仕事に生かしたい
  • PHP の基礎を学んだけれど、次に何をして良いか分からない

という方におススメです。


開発するカレンダーアプリ


デモサイト
以下のリンクから実際に開発するカレンダーアプリを見ることができます。
https://codeforfun.jp/demo/courses/my_calendar

開発・テスト環境(PHPバージョン)
macOS : MAMP 6.0.1(7.4.9)
Windows10 : XAMPP 8.0.2(8.0.2

動作確認済ブラウザ
Chrome / Firefox / Edge / Safari / Opera / Internet Explorer
* IE は一部レイアウトが崩れる場合があります。



講座の内容

この講座は6つのステージ

  1. プロジェクトの準備
  2. レイアウトの作成
  3. コードの共通化
  4. MySQL データベースの用意
  5. カレンダー機能の実装
  6. タブレット・スマートフォン対応

に分かれています。



ステージ1:プロジェクトの準備


まずは必要なフォルダ・ファイルを用意していきます。

ウェブ開発でよく使われる

  • Bootstrap
  • Datetimepicker
  • jQuery
  • Moment.js
  • Font Awesome

といったフレームワークやライブラリのインストール方法も細かく紹介します。




ステージ2:レイアウトの作成

PHP で機能を実装する前に、HTML と CSS で全画面のレイアウトを作成しておきます。


このプロジェクトでは Bootstrap(ブートストラップ)というフレームワークを使ってレイアウトを作成する方法を紹介します。

Bootstrap を使えば、ウェブデザインの知識がなくてもスマートフォンに対応した綺麗なレイアウトを作ることができます。

特に PHP をメインで学習している場合「PHP でウェブアプリを開発したいけど HTML と CSS に手間をかけたくない!」という方も多いと思います。

Bootstrap を使ってサクッとレイアウトを作っていきましょう。

* HTML と CSS の基本的なルール・文法についての説明はボーナスコンテンツとして順次公開予定です。





ステージ3:コードの共通化

このステージでは、全ての HTML ファイルに共通して書いているコードをまとめる方法を紹介します。

何度も同じコードを書いたり、あとで変更を加えにくいコードはプログラミングでは好まれません。

管理がしやすくてスッキリとしたコードになるようにしておきましょう。





ステージ4:MySQLデータベースの用意

このステージでは、予定を保存するデータベース・テーブルを用意します。

PHP では

  • データベース接続
  • データベース接続の関数化
  • 予定の保存

のコードも書いていきます。



ステージ5:カレンダー機能の実装

いよいよカレンダー機能の実装です!

主な機能

  • カレンダー作成
  • 指定した年月のカレンダー表示
  • 予定の追加
  • 予定の編集
  • 予定の一覧表示
  • 予定の削除
  • 予定の検索
  • バリデーション(入力チェック)
  • エラーメッセージの表示


PHP では、日付計算に欠かせない date 関数や strtotime 関数、ユーザーが正しい値を入力しているかを確認するバリデーションの実装方法を紹介します。

MySQL では、データベース操作の基本である INSERT / SELECT / UPDATE / DELETE を全て使います。


カレンダーアプリ以外にも応用できるコードが盛りだくさんとなっています。



ステージ6:タブレット・スマートフォン対応

最後に、タブレットやスマートフォンでも使いやすくするための調整を行います。

パソコンで表示されるものがスマートフォンでは表示されなかったり、動きが変わってしまうということがよくあります。

  • パソコン・タブレット・スマートフォンの判別方法
  • プレースホルダーの作成
  • Datetimepicker の無効化

など細かいテクニックをたくさん紹介していきます。



【特典①】CSV を使った祝日の表示方法



内閣府から配布されている CSV 形式の祝日データを使って、カレンダーに祝日を表示する方法を紹介します。

CSV ファイルは「ユーザー情報・予約リスト・成績・市町村名」などのデータの一括登録に利用されることが多く、PHP プロジェクトで実装を頼まれることもよくあります。

カレンダー以外のプロジェクトでも役立つものなので、ぜひ実装方法を知っておきましょう



【特典②】ウェブ開発の基礎知識


このボーナスコンテンツでは

  • HTML
  • CSS
  • JavaScript
  • jQuery

の基本ルールを紹介します。

PHP プログラマーの場合、これらについても知っておくと仕事の幅、開発できる範囲がグッと広がります。

細かいルールや出来ることはたくさんありますが、まずは押さえておきたい基礎知識を紹介します。



こんにちは、この講座を作っている Sara です。

PHP は私が一番初めに勉強したプログラミング言語でした。

PHP を学べば「ウェブサイト・ブログ・ショッピングサイト・お問い合わせフォーム」など、幅広く作ることが出来るというのが PHP を選んだ理由です。


それから

  1. 本とオンライン講座で基礎を学ぶ
  2. 本とインターネット上のサンプルコードを真似して書く
  3. オリジナルのウェブサイトやツールを開発する
  4. 2~3を繰り返す

という勉強法をを約1年半続けて、プログラマーとしての仕事を頂けるようになりました。


この方法でもある程度コードを書けるようになりましたが、今振り返るとあまり効率が良くない方法だったと思います。


本やネット情報で勉強していると

  • 開発環境が合わない
  • コードが古くてエラーが出る or 動かない
  • エラーが出ても質問できない
  • 難しい言葉を使った説明ばかりで意味が分からない
  • サンプルコードをダウンロードできない

ということがよくありました。


PHP と MySQL の基礎を学んだ方に「私のように遠回りせずに次のステップに進んでほしい!」という思いを込めて作ったのがこの講座です。


この講座は

  • 同じコードを書けば必ず完成できること
  • 出来る限りシンプルなコードにすること
  • 私がプログラミングを始めた頃に欲しかったもの

を意識して作りました。


PHP と MySQL の基礎を学んだけれど次に何をすれば良いかわからない、次のステップに進みたい!という方は、ぜひこの講座を役立てて頂ければと思います🙂


よくある質問


1. プログラミングは初めてですが大丈夫ですか?
この講座は PHP の基礎(if 文・for ループ・関数など)を学習された方を対象としています。
プログラミングを全く学んだことがないという方は、まずは基礎を学んでからのご参加をお勧めします。(入門講座は現在準備中です。)
この講座はコードを真似して書けば必ず完成できるように心がけているので、少しプログラミングに触れたことがあるという方はぜひ挑戦してみてください!



2. 購入前に講座内容を見ることはできますか?

この画面の下にある「講座もくじ」のプレビューをクリックしてください。一部の内容を無料でお読みいただけます。
* カレンダーのみの作成方法はウェブサイト無料公開中です。





3. 講座の受講期限はありますか?

受講期限はありません。一度購入していただくと、いつでも何度でも講座内容を確認できます。
講座内容も追加・更新しています。 過去の更新情報はこちら



4. エラーが出た場合などサポートはありますか?

はい、できる限りサポートさせて頂きます!
コメント欄での回答、または個別でのメール対応も行っています。
* 講座内容に含まれていない「PHP・MySQL の解説」「新しい機能の追加」についてはサポート対象外となります。



5. 返金、キャンセルはできますか?

商品の特性上、返金・キャンセルは受け付けておりません。

講座の内容を一部無料公開しているので、購入前に必ずご確認ください。

講座もくじ




ご購入いただく前に必ずお読みください。


できる限り分かりやすくするために専門用語は省略したり、簡略化できるコードをあえて省略せずに書く場合があります。

講座内容に含まれていない「PHP・MySQL の解説」「新しい機能の追加」についてはサポート対象外となります。


デジタル商品のため、キャンセル・返品・返金は受け付けておりません。


以下の行為を禁止させて頂きます。
・コードの再配布
・SNSやその他メディアへの講座内容転載

詳細は利用規約プライバシーポリシーをお読みください。

私が PHP と MySQL の勉強を始めてから約1年半後に、初めて頂いた仕事も PHP と MySQL でのシステム開発でした。

最初は PHP でコードを書ければ良いと思っていましたが、PHP プログラマーには HTML・CSS・JavaScript についての知識を求められることがあります。

一般的な PHP のプログラミング講座や書籍ではレイアウトに関しては省略されることが多いですが、このカレンダー講座では、そこもカバーできるように HTML の作成方法から紹介しています。

PHP と MySQL が書ければ、自分のアイディア次第でたくさんのものを開発できるようになります。

加えて HTML・CSS・JavaScript を少しだけでも知っておけば、さらに幅は広がります。


この講座があなたの可能性を広げるお役に立てれば嬉しく思います

今すぐ始める



あなたの講師


Sara
Sara

こんにちは、Saraです。

独学で勉強している方、基礎を勉強したけれど次に何をして良いか分からない..という方のお役に立てる講座を目指しています。

私がプログラミング学習を始めた頃に「こんな講座があったらな」と思えるものを、皆さんにお届けできればと日々考えています。

実際にアプリを開発しながら「プログラミングって楽しいな」と思っていただければ嬉しいです🙂

ウェブサイト:https://codeforfun.jp/