netcommons
 
 
 

モジュール開発: DB 書込み

ステップ3: DBに書き込む

maple.ini の作成

memo/action/edit/init/maple.ini
[Action]
db = "ref:DbObject"

[View]
; success = "main:true.html"
success = "action:memo_view_main_init"

error = "main:error.html"

action プログラムの作成

memo/action/edit/init/Init.class.php
var $content = null;
var $db = null;
function execute()
{
// データベースからの読み出し
    $record = $this->memoView->getRecord( $this->block_id );

    $params = array(
        "block_id"         => intval($this->block_id),
        "room_id"          => intval($this->room_id),
        "content"          => $this->content,
    );

// 更新
    if ( $record ) {
        $result = $this->db->updateExecute(
            "memo",
            $params,
            "block_id",
            true    // update_time を付加する
        );

// 新規登録
    } else {
        $result = $this->db->insertExecute(
            "memo",
            $params,
            true,     // insert_time を付加する
            "block_id"    // create_key
        );
    }

// エラー
    if ( $result == false) {
        return 'error';
    }

    return 'success';
}

JavaScript の作成

テンプレートで作成した「決定」ボタンがクリックされると、
下記の enterContent が実行される。

memo/files/js/default/memo.js
enterContent: function(form_el) {
    var params = new Object();
    params["target_el"] = $(this.id);
    var post = Form.serialize(form_el);
    commonCls.sendPost(this.id, post, params);
}

モジュールをアップデートする

DB書込み

DB書込み

参考

NetCommons Wiki: insertExecute
 
yn150
 

メニュー

ネットコモンズのサポート会議室ネットコモンズの有償サービスこのサイトの使用方法ネットコモンズの運用事例ネットコモンズの構築事例配布モジュール一覧グーグル地図モジュールのデモグーグルカレンダーモジュールのデモグーグル検索モジュールのデモOpenID モジュールのデモTwitterモジュールのデモFacebookモジュールのデモFacebook 風 掲示板ヘッダチェンジャー・モジュールのデモテーマのデモヘッダー部なしモジュール開発の手引き解体新書お問合せ練習場

携帯アクセス

qr code