ZendFramework

ZendFrameworkのZend_Dbでレコードの新規追加

更新日:

前回は、Zend_DBでレコードの一覧の表示までやりました。データベースアクセスの基本である『検索』『レコードの追加』『編集』『削除』といった機能を順に勉強していきたいと思います。今日は、『レコードの追加』を勉強します。レコードの追加は、追加のためのフォームを作成し、データを送信してデータベースにレコードを追加するという形になります。最近途中経過を端折りすぎている傾向にありますので、基本に立ち戻って、細かく説明していきたいと思います。いつものようにDreamweaverで作成します。

レコードの新規追加

1) まず、レコードを追加するために『views/scripts/test』フォルダ内に『add.phtml』というビューファイルを作成して、下記のように記述します。

2) テーブルを作成します。

3) 左の列に『Title』『Content』と入力したら、3行目を2列とも選択して、結合します。

4) 1行2列目をクリックしたら、フォームタブのテキストフィールドを挿入します。2行2列目をクリックしたら、テキストエリアを挿入します。3行目をクリックしたらボタンを挿入します。フォームタグ追加のメッセージには、全ていいえをクリックします。

5) フォームを挿入したら、今作成したばかりのフォーム(赤い枠)の中にテーブル全体を移動します。※尚、この方法はフォームを後から作成していますが、先にフォームを作成した方が効率はいいです。

6) 次に、『controllers』フォルダの『TestControllers.php』ファイルにaddActionメソッドを追加します。

public function addAction()
 {
 //POSTデータを連想配列として受け取る
 if($this->getRequest()->isPost()){
 $data = array(
 'title' => $this->getRequest()->getParam('title'),
 'content' => $this->getRequest()->getParam('content')
 );
 //データベースにレコードを挿入
 $this->db->insert('dvd_collections',$data);
 //indexにリダイレクトします
 ))$this->_redirect('test/index');
 }
 }

7) 再度、ビューファイル『add.phtml』に戻り、titleのテキストフィールドをクリックして、名称を『title』に変更します。同じく、Contentのテキストエリアをクリックし、名称を『content』に変更します。

8) フォーム全体を選択し、アクションに『add』と入力します。アクションには何も入力しないで下さい。

9) それでは、ブラウザで実際にレコードを追加してみます。ブラウザに『http://zend.winroad.info/test/add』と入力して、テスト入力してみます。

10) 新しいレコードが挿入されました。

本日は以上です。

-ZendFramework
-

Copyright© WinRoad徒然草 , 2018 All Rights Reserved Powered by AFFINGER5.