Mysql
 sql >> база данни >  >> RDS >> Mysql

Извличане на информация от базата данни MYSQL &Codeigniter

Има няколко неща, които могат да бъдат изяснени:

  • model е обект, който продължава да съществува в базата данни. Във вашия случай:Членство
  • controller отговаря за зареждането на модела и предаването му на изгледа, който ще бъде показан
  • view трябва да има само html маркиране, без функции, без логика.

База данни

Ако приемем, че вашата база данни има структурата по-долу.

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

Модел

Можете да изградите своя модел class Membership 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);
    }
}

Изглежда, че моделите са заредени, хвърля тези два реда:

//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 и 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да подобрим клаузата Limit в MySQL

  2. MySQL Неправилна стойност за дата и час:'0000-00-00 00:00:00'

  3. Как да изберете отделни двойки в MySQL присъединяване (същата таблица) с транзитивност?

  4. как да използвам низ като формула за математически изчисления в php?

  5. Заявка, изпълнена два пъти (по грешка) в Java с нежелани стойности