sql >> データベース >  >> RDS >> Mysql

データベースMYSQL&Codeigniterからの情報の取得

    明確にできることがいくつかあります:

    • モデル データベースに永続化するエンティティです。あなたの場合:メンバーシップ
    • コントローラー モデルの読み込みを担当し、表示するビューに渡します
    • ビュー htmlマークアップのみが必要であり、関数やロジックは含まれていません。

    データベース

    データベースが以下の構造を持っていると仮定します。

    +---------------+-----------+------------+--------------------+
    | id_membership | username  | name       | email              |
    +---------------+-----------+------------+--------------------+
    |             1 | Marishka  | marishkapv | [email protected] |
    |             2 | johndoe   | John       | [email protected]       |
    |             3 | dennisv   | Dennis     | [email protected]       |
    +---------------+-----------+------------+--------------------+
    

    モデル

    モデルを構築できますclassMembership extends CI_Model /application/models/membership.phpで ファイル。

    class Membership extends CI_Model {
    
        function __construct()
        {
            parent::__construct();
        }
    
        function member_here()
        {
            $this->db->select('');
            $this->db->from('membership');
            $this->db->where('username',$this->input->post('username'));
            $q = $this->db->get('');
    
            if($q->num_rows() > 0) 
            {
                $data = array();
                foreach($q->result() as $row) 
                {
                    $data=$row;
                }
                return $data;
            }
        }
    }
    

    コントローラー

    example.com/index.php/loginにログインページがあるとします。 、これは/application/controllers/login.phpにある必要があります 以下のように:

    class Login extends CI_Controller
    {
        function __construct()
        {
            parent::__construct();
        }
    
        public function index()
        {
            $this->load->view('login_view');
        }
    
        public function result()
        {
            $this->load->model('membership');
            $data['member'] = $this->membership->member_here(); 
            $this->load->view('result_view', $data);
        }
    }
    

    モデルがロードされているように見えると、次の2行がスローされます:

    //Load the model in make use of its functions
    $this->load->model('membership'); 
    
    //load the row whit the given username
    //the result is assigned to array with the key "member", in the view you access this
    //value with $member var
    $data['member'] = $this->membership->member_here(); 
    

    ビュー

    コントローラコードで述べたように、 login_viewという2つのビューファイルがあります。 およびresult_view 。最初のフォームには、選択クエリをトリガーするためにユーザー名を入力できるhtmlフォームが表示されます。 result_view 選択したメンバーシップに従ってメンバーの情報を表示する

    login_view.php

    <html>
        <head></head>
        <body>
        <form action="login/result" method="post">
            Type your username: <input type="text" name="username" />
            <input type="submit" value="Load from database" />
        </form>
        </body>
    </html>
    

    result_view.php

    <h4>Details:</h4>
    <p>
    Id: <?=$member->id_membership?> <br />
    Username: <?=$member->username?> <br />
    Email: <?=$member->email?>
    </p>
    


    1. Mysqlが起動しません-ibdata1が破損していますか? -オペレーティングシステムのエラー番号13-権限の問題

    2. 次のシナリオでdb関係(pk / fk)を維持する方法はありますか?

    3. 重複を配置し、レコードに順番に番号を付けます-MySQL

    4. postgresql:md5メッセージダイジェストのデータ型?