sql >> Database >  >> RDS >> Mysql

Informatie ophalen uit de database MYSQL &Codeigniter

Er zijn een paar dingen die kunnen worden verduidelijkt:

  • Een model is een entiteit die in de database blijft bestaan. In jouw geval:Lidmaatschap
  • Een controller is verantwoordelijk voor het laden van het model en geeft het door aan de weergave die moet worden getoond
  • Een view zou alleen html-opmaak moeten hebben, geen functies, geen logica.

Database

Ervan uitgaande dat uw database de onderstaande structuur heeft.

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

Model

Je zou je model kunnen bouwen class Membership extends CI_Model op /application/models/membership.php bestand.

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;
        }
    }
}

Controller

Stel dat u een inlogpagina heeft op example.com/index.php/login , dit zou moeten staan ​​op /application/controllers/login.php zoals hieronder:

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);
    }
}

Het lijkt erop dat het model is geladen, gooit deze twee regels:

//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(); 

Beelden

Zoals je hebt opgemerkt in de controllercode, zijn er twee weergavebestanden, login_view en result_view . De eerste toont een html-formulier waarin u de gebruikersnaam kunt invoeren om een ​​selectiequery te activeren. De result_view toon de informatie van het lid volgens het geselecteerde lidmaatschap

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>

resultaat_view.php

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


  1. ATAN() Functie in Oracle

  2. meerdere rijen bijwerken met limiet in mysql?

  3. De beste manier om werkuren op te slaan en efficiënt op te vragen

  4. Retourwaarde voor MySQL opgeslagen procedure