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 . पहला एक एचटीएमएल फॉर्म दिखाएगा जहां आप एक चुनिंदा क्वेरी को ट्रिगर करने के लिए उपयोगकर्ता नाम डाल सकते हैं। 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. ज़ेंड ढांचे के साथ एकाधिक उप क्वेरी

  2. MySQL:आईडी को ऑटो-इन्क्रीमेंट करते समय मेरा INSERT स्टेटमेंट 56 नंबरों को क्यों छोड़ देता है?

  3. एक sql क्वेरी को कैसे सुधारें

  4. तालिकाओं के डुप्लीकेट हटाना

  5. स्केलर सबक्वेरी की तुलना इनर जॉइन या लेफ्ट/राइट जॉइन से बदलें