2012年8月1日水曜日

CodeIgniter STEP2, get data from mysql


  1. codeigniter_testデータベース&テーブル作成
  2. database接続用のconfig設定
  3. config/database.php
    $db['default'] = array(
     'dsn' => '',
     'hostname' => 'localhost',
     'username' => 'root',
     'password' => '',
     'database' => 'codeigniter_test',
     'dbdriver' => 'mysqli',
     'dbprefix' => '',
     'pconnect' => TRUE,
     'db_debug' => TRUE,
     'cache_on' => FALSE,
     'cachedir' => '',
     'char_set' => 'utf8',
     'dbcollat' => 'utf8_general_ci',
     'swap_pre' => '',
     'autoinit' => TRUE,
     'stricton' => FALSE,
     'failover' => array()
    );
     
  4. modelの定義
  5. model/hello_world_model.php
    ※クラス名は頭文字だけ大文字にする必要あり
    class Hello_world_model extends CI_Model {
    
     function __construct()
     {
      parent::__construct();
     }
     
     function get_data(){
      //codeigniter_testテーブルの1レコードだけ取得
      $query = $this->db->get('codeigniter_test', 1);
      return $query->result();
     }
    }
    
  6. controllerからmodelを読んでHello World
  7. controller/hello_world.php
    class Hello_world extends CI_Controller {
     public function index(){
      //データベース接続
      $this->load->database();
      
      //モデルに接続
      $this->load->model('Hello_world_model');
      
      //モデルのメソッド呼び出して、データ取得
      $rows = $this->Hello_world_model->get_data();
      
      //取得したデータの1件目だけ取得
      $row = current($rows);
      $data = array('hello_world' => $row->text);
      
      $this->load->view('hello_world', $data);
     }
    }
    
    views/hello_world.php
    echo $hello_world;
    
でけた! テストのために、codeigniter_testテーブルには最低限、textっていうフィールドを用意して1レコード挿入しておいてください

2012年7月31日火曜日

CodeIgniter STEP1, Hello World


  1. CodeIgniterのダウンロード or GitHub clone
    http://codeigniter.com/downloads/
  2. インストール
    今回はWebapp直下にCodeIgniterTestフォルダを作ってそこに設置。

    application/config/config.php  のベースURLを変更する必要があるらしいので、変更
    $config['base_url'] = 'http://localhost/CodeIgniterTest/';
    かな?たぶん

    http://localhost/CodeIgniterTest/ にアクセスすると、welcomeページが表示された。(base_urlを変更しなくても表示されたけどね^^;)
  3. Hello World
    準備ができたので、Hello Worldしましょう!

    Welcomeページを見ると、
    Viewに関しては application/views/xxx.php
    Controllerに
    関しては application/controllers/xxx.php
    とのこと。

    というわけで、それぞれに hello_world.php作ってみます。

    application/views/hello_world.php
         hello world!!

    application/controllers/hello_world.php
    <?php
    class Hello_world extends CI_Controller {

    public function index(){

    $this->load->view('hello_world');

    } 

    }

    上記の2ファイル作って、http://localhost/CodeIgniterTest/index.php/hello_world にアクセスしたらできてた!わかりやすいかもー