PHP+MySQL入門

挿入画面の制作1

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
まずは、商品を登録する画面から制作していきます。ここでは、既にあるHTMLにPHPを実装する形で制作を進めていきましょう。
講師:
12:57

字幕

ここでは挿入場面の製作としまして今画面に表示されているようなこういった入力フォームから商品の情報を登録する事でデータベースに実際にその商品の情報が登録されるという挿入画面を製作していきたいと思いますではプロジェクトについて紹介していきましょうここではこの Lesson 02-01というフォルダに image やstyle そして input.phpというファイルが準備されていますここではデータベースに接続し そしてこちらフォームが形作られています「カテゴリ」という事でドロップダウンリストが作られ「商品名」がテキストフィールド「商品名(カナ)」もテキストフィールドをそして「価格」がテキストフィールドというかたちで準備されていますそしてデータベースの方も見ていきましょう同じプロジェクトのフォルダの中にこちら「phpmysql.sql」というエクスポートデータがありますこちら MAMP の「スタートページを開く」から phpMyAdmin を起動してこちら「phpmysql」というデータベーススペースにgenre_master item_logitem_table といったテーブルが準備されるバックアップデータですデータの中身は特に入っていないので空っぽのテーブルになっていますgenre_master のみ3件ほどデータが入っていますもしまだこのデータベーススペースが準備できていないという場合はこちら phpMyAdmin のホーム画面から「データベース」のタブを選んでここで「phpmysql」というデータベースの「utf8_general_ci」の文字コードでデータベースを作っていただきそしてそのデータベーススペースにこちら「インポート」というボタンから今のバックアップファイルをインポートして復元をしておいてくださいそれでは実際にスクリプトを作っていきましょうまずこちら input.phpというファイルですけれども今回このファイルからデータベースに登録するファイルとしては同じこちらの「input.php」というファイルを使いたいと思います場合によってはもう一つファイルを作り例えば「input_do.php」のファイル等を作って そこで登録の処理を行い「input.php」は入力に特化するというような作りもできるんですが一つのファイルで両方の作業を行えばプログラムの見通しが非常に良くなりますし管理もしやすくなりますそのためここでは「input.php」で作業していきたいと思いますただ「input.php」でフォームの表示とそれからフォームの登録の両方をやろうとしますとフォームが送信されたこちらの「商品登録」の画面なのかそれともただ単に表示されただけの画面なのかによって動きが異なってしまいますそこでここでは こちらフォームを送信する時にこちらですね フォームの一番最後に「input_type」等とし「hidden」というコントロールを作り「name」とし 例えばここでは「action」等と名付けますそして「value」として「submit」等と記述するとこれにより「action」という「POST」でこの「submit」という値がフォームを送信すると必ず送信され事になりますこれを使って判別をする事ができるというわけです理屈だけ話すと少し難しく感じるかもしれませんが実際にやってみる事にしましょう例えばここでは こちらファイルの一番最初の部分で「if」としますそして「$_POST」の「action」というのが「submit」であれば という「if 構文」を記述し ここでは「フォームが送信されました」というメッセージを表示するようにしてみましょうではこちらで一度スクリプトを確認してみますでは MAMP を起動してこちらサーバーをスタートとしますとこちらの Apache とMySQL が両方緑色になりますこの状態で localhost: 8888Lesson 02-01input.php にアクセスをするとこのようにフォームが表示されますこの時この辺りにフォームが送信されましたという先程のこちらのメッセージはまだ表示されていませんでは例えばここでこちらの「登録する」のボタンをクリックすると どうなるでしょうこちら「フォームが送信されました」と表示されるようになりましたこれは今ここで見えてはいませんが「登録する」ボタンの後に「hidden」コントロールという目に見えないコントロールがありそれが「submit」という値を送信するような仕組みになってますそしてその「action」というのが「submit」の値であるというのを判断しフォームが送信されたかどうかを確認すれば良いという事になりますではこちらを使ってフォームが送信された場合に商品を登録するという処理を記述してみましょうまずここでは こちら MySQL に接続する処理を先頭に記述しそして ここに少しコメントを書いておきましょう「フォームが送信されたときの処理」こちら「/」を二つ行頭に書くとこれは comment といいスクリプトには一切動きに影響を与えない記述を書く事ができますhtml の後でも こういった記述でコメントが書けるので一般的な概念かもしれませんではここにスクリプトの処理を書いていきましょうここでは「mysql_query」とし「INSERT INTOitem_table」としますitem table の内容を念のため確認しておきますitem table はこのように「id」「genre_id」「item_name」「item_name_kana」そして「price」という各フィールドでできあがっていますこの中で「id」というフィールドは「auto_increment」のオプションが設定がされてる「Primary」キーですのでここでは「id」に値を指定する必要はありませんそのためここでは「genre_id」それから「item_name」と「item_name_kana」そして「price」もそれぞれに値を指定していく必要がありますではここでは「set」として「item_name」をまずちょっとここでは仮のもので書いていきましょう「item_name」を「a」「item_name_kana」を「b」そして「price」を「c」と記述しますさらにもう一つ「genre_id」が「1」となります「genre_id」は「int」の型で記述されていますこれは「genre_master」というこちらのテーブルとリレーションをはる構造になっていて例えば「genre_id」に「1」という数値が入った場合「genre_master」の「id」一番とこのように紐づいて「くだもの」であるという事が導き出されますそのためここでは「genre_id」には数字を入れるようにしますまた「price」はこちら「c」ではなくて例えば 120 等の数字になりますそして「or die」とし「msql_error」としてこちらでデータベースへの挿入が完了しましたではひとまずこちらで動きを確認してみましょう「商品登録」としまして 今は何も記入しないでいいので「登録する」ボタンをクリックしてみますするとこちら「item_table」の表示をするとこのように「1」「a」「b」「120」という数字が入るようになりましたではここで仮の値ではなく実際にこちらのフォームに記入された内容を登録するように変更してみましょう例えば「genre_id」を見ていきますと「genre_id」はフォームでこちらドロップダウンリストとして作られていますこちら「option」の「value」として数字が割り当てられており そのラベルとしては「くだもの」や「野菜」といった文章で記述されているためフォームとして送信されるのはこちらの「value」の値となりますそのためここでは こちら「genre_id」にはこの「genre_id」をそのまま挿入すれば良い事になりますでは実際にやってみましょうここで仮の「1」というのを消し「'」で一度文字列を閉じますそして文字列連結をし こちらに「POST」の「genre_id」を挿入するわけですけれどもこの時「sql」を安全に保つために必ず「mysql_real_escape_string」というファンクションで囲いましょうというのをすでにやっていますこれで「genre_id」が挿入されるようになりましたでは続けて「item_name」も同じようにやっていきましょう仮の文字を一度消してこのように「mysql_real_escape_string」とし「POST」のここでは「item_name」というテキストフィールドの値になりますさらに「item_name_kana」ですこちらは「mysql_real_escape_string」で「$_POST」「item_name_kana」が入ります最後に「price」を見ていきましょうこちら( )を閉じますね最後に「price」を見ていきますここでは「mysql_real_escape_string」としまして「$_POST」の「price」を入れていきますこれで全体の「sql」が組み立てられましたなお最後が「'」が二つになってしまいましたのでここは場合によってこのようにしても結構ですかなり長いスクリプトになりましたがこちらで動きを確認してみましょうでは「商品登録」の画面をまずはこのように再度表示しますそして「カテゴリ」に何かを選び「商品名」として例えばここでは「いちご」とします「商品名の(カナ)」には「イチゴ」とカタカナで入れそして「価格」には「120」等と入れますではこれで登録をしてみましょうすると画面がこのようにまた「商品登録」という画面に戻りますが実際 item_table の方を見ていきますとこのように「いちご」「イチゴ」「120」円という事で正しくデータが入りましたちょっとこのままですと分かりづらいのでここでは「print」として「商品を登録しました」と一時的に情報を表示するようにしてみましょうでは改めてこちらで「くだもの」今度は「りんご」という事でカタカナも登録しますそしてここでは「80」円として実際に登録してみましょうでこちら「商品を登録しましたと」仮のメッセージが出ています実際 item_table の内容を見ていきますとこの様に商品が登録されているというわけですこれで商品の登録画面が出来上がりました実際にはもう少し作り込みが必要ですがそれはまた別のレッスンでやっていきましょう

PHP+MySQL入門

MySQLというデータベースはPHPと連携させてウェブサイト上で利用することによってよりその威力を発揮します。このコースではPHPとMySQLを組み合わせたWebシステムを構築する手法を紹介します。コースの後半ではページングの処理の仕方などについて学びながら、具体的に挿入画面や編集画面の作成を行っていきます。

3時間08分 (21 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2014年01月20日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。