从数据库 MYSQL & 获取信息代码点火器 [英] Fetching information from the database MYSQL & Codeigniter

查看:42
本文介绍了从数据库 MYSQL & 获取信息代码点火器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

上一个问题在这里,以防你们需要其他信息:

the previous question is here incase you guys needed a other information:

从数据库中获取信息

另一个更新

尽管你们所有人都非常有帮助.我已经设法获得输出,但我仍然真的很困惑可以说我想先看到输出,所以我无视控制器.

Although all of you have been very helpful. I've managed to get outputs but i'm still really really confused lets say that I want to first see the outpurs so im disregarding the controller.

在我看到我的命令是正确的后,我会制作一个控制器:) 我不知道为什么,但这就是我如何理解整个概念的方式.反正..

i'll make a controller after i see that my commands are correct :) i dont know why but thats kindo of how i get to understand the whole concept. anyway..

为了我membership_model.php

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

和我的signup_view.php

<html>
<head>
<title></title>
</head>
<body>
<?php $this->load->view('includes/header')?>

<div align="right"><?php echo anchor('login/signin', 'Login');?></div>

<?php

$option1 = array(
              'name'  => 'What was your childhood nickname?',
              'value'   => 'What was your childhood nickname?'
            );

$option2= array(
    'name'  => 'What is your pet\'s name?',
    'value' => 'What is your pet\s name?'
);

$option3= array(
    'name'  => 'In what city were you born?',
    'value' => 'In what city were you born?'
);

$option4= array(
    'name'  => 'What is the color of your eyes?',
    'value' => 'What is the color of your eyes?'
);

$option5= array(
    'name'  => 'What is your favorite color?',
    'value' => 'What is your favorite color?'
);


echo form_open('login/create_member');
echo "<table width=\"80%\ cellpadding=\"3px\">
<tr>
<td>User Information:</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>";
echo "<tr><td>First Name*: </td></tr>";
echo "<tr><td>";
echo form_input('first_name', set_value('first_name'));
echo "</tr></td>";
echo "<tr><td>Last Name*: </td></tr>";
echo "<tr><td>";
echo form_input('last_name', set_value('last_name'));
echo "</td></tr>";
echo "<tr><td>Email Address*: </td></tr>";
echo "<tr><td>";
echo form_input('email_address', set_value('email_address'));
echo "</tr></td>";
echo "<tr><td>Gender: </td></tr>";
echo "<tr><td>";
?>
<input type="radio" name="gender" value="Male" />Male &nbsp;
<input type="radio" name="gender" value="Female" />Female
<?php

echo "</tr></td>";

echo "<tr>
<td></td>
</tr>
</table>";
?>



<?php
echo "<table width=\"80%\ cellpadding=\"3px\">
<tr>
<td> Account Information:</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>";
echo "<tr><td>Userame*: </td></tr>";
echo "<tr><td>";
echo form_input('username', set_value('username'));
echo "</td></tr>";
echo "<tr><td>Password*: </td></tr>";
echo "<tr><td>";
echo form_password('password');
echo "</td></tr>";
echo "<tr><td>Password Confirmation*: </td></tr>";
echo "<tr><td>";
echo form_password('password2');
echo "</td></tr>";
echo "<tr><td>";
echo "Security Question*:";
echo "</td></tr>";
echo "<tr><td>";
?>
<select name = "security_question" value="security question">
<option value = "What was your childhood nickname?">What was your childhood nickname?</option>
<option value = "What is your pet's name?">What is your pet's name?</option>
<option value = "In what city were you born?">In what city were you born?</option>
<option value = "What is the color of your eyes?">What is the color of your eyes?</option>
<option value = "What is your favorite color?">What is your favorite color?</option>
</select>

<?php
echo "</td></tr>";
echo "<tr><td>";
echo "Security Answer*:";
echo "</td></tr>";
echo "<tr><td>";
echo form_input('security_answer');
echo "</td></tr>";

echo "<tr><td>";
echo form_submit('submit', 'Register');
echo form_reset('reset', 'Reset');
echo "</tr></td>";
echo form_close();

echo "<tr>
<td></td>
</tr>
</table>";
?>



<?php echo validation_errors('<p class="error">');?>

所以,这就是我的全部代码.我正在尝试从数据库中获取登录用户的名字、姓氏、电子邮件地址和所有其他信息.

So, thats all my code. I'm trying to get the first_name, last_name, email_address and all the other information of the logged in user to come out from the database.

如果我在我的模型中使用 $data[]=$row; 而不是 $data=$row; 会发生错误:

if i use $data[]=$row; instead of $data=$row; in my model an error occurs saying this:

严重性:注意

消息:试图获取非对象的属性

文件名:views/members_area.php

行号:20

那我该怎么办.我在没有控制器的情况下编码.我只是在检查结果 谢谢!!

推荐答案

有几点需要澄清:

  • model 是一个持久存在于数据库中的实体.在您的情况下:会员资格
  • controller 负责加载模型,并将其传递给要显示的视图
  • 一个 view 应该只有 html 标记,没有功能,没有逻辑.
  • A model is a entity that persists in the database. In your case: Membership
  • A controller is in charge of load the model, and pass it to the view to be showed
  • A view only should have html markup, no functions, no logic.

假设您的数据库具有以下结构.

Assuming that your database have the structure below.

+---------------+-----------+------------+--------------------+
| id_membership | username  | name       | email              |
+---------------+-----------+------------+--------------------+
|             1 | Marishka  | marishkapv | marishka@email.com |
|             2 | johndoe   | John       | john@doe.com       |
|             3 | dennisv   | Dennis     | dennis@v.com       |
+---------------+-----------+------------+--------------------+

型号

您可以在 /application/models/membership.php 文件中构建您的模型 class Membership extends CI_Model.

Model

You could build your model class Membership extends CI_Model at /application/models/membership.php file.

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 如下:

Controller

Supposing that your have a login page at example.com/index.php/login, this should resides at /application/controllers/login.php as below:

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

看起来加载模型会抛出这两行:

Look like the models is loaded throws this two lines:

//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_viewresult_view.第一个将显示一个 html 表单,您可以在其中放置用户名以触发选择查询.result_view 根据选择的会员资格显示会员信息

Views

As you noted in controller code, there are two views files, login_view and result_view. The first one will show a html form where you can put the username in order to trigger a select query. The result_view show the informacion of the member according to the selected membership

login_view.php

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

result_view.php

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

这篇关于从数据库 MYSQL &amp;amp; 获取信息代码点火器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆