Php 有没有办法在Codeigniter的文本框中设置单行获取的数据库值而不使用循环
我想从数据库中获取单行值,我的数据从数据库中获取。但是我如何在视图中的文本框中查看它而不使用循环,因为它只有一行数据 我的控制器Php 有没有办法在Codeigniter的文本框中设置单行获取的数据库值而不使用循环,php,mysql,codeigniter,Php,Mysql,Codeigniter,我想从数据库中获取单行值,我的数据从数据库中获取。但是我如何在视图中的文本框中查看它而不使用循环,因为它只有一行数据 我的控制器 public function index(){ $data_key = ENCRYPT_KEY; $user_id = $_SESSION['pat_user_id']; $this->db->select('fname, lname, email'); $result= $this->User_edit_model
public function index(){
$data_key = ENCRYPT_KEY;
$user_id = $_SESSION['pat_user_id'];
$this->db->select('fname, lname, email');
$result= $this->User_edit_model->get_where(array('uname'=>$user_id));
$this->load->view('user_edit', $result);
print_r_custom($result);
var_dump($result);
}
View.php
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="fname" name="fname" value="<?php echo $user_records->fname; ?>" class="fname form-control">
<label class="form-control-placeholder label1" for="fname">Given Name</label>
</div>
</div>
</div>
您可以像这样使用查询:
$query = $db->query("YOUR QUERY");
// "YOUR QUERY" should be something like this"SELECT fname, lname, email from user_tbl WHERE uname = $user_id"
$row = $query->getRow();
if (isset($row)) {
echo $row->fname;
echo $row->lname;
echo $row->email;
}
您可以在此处查看详细信息:
您也可以这样尝试:
$result = $this->db->select('fname, lname, email')->get_where(array('uname'=>$user_id))->row();
首先,与数据库相关的操作应该按照MVC的思想放在模型中
控制器:
public function index(){
$data_key = ENCRYPT_KEY;
$user_id = $_SESSION['pat_user_id'];
$result= $this->User_edit_model->get_userInfo(array('uname'=>$user_id));
$this->load->view('user_edit', $result);
}
模型:用户\编辑\模型
public function get_userInfo($where){
$this->db->select('fname, lname, email');
$this->db->where($where);
return $this->db->get("table_name")->row_array();
}
从输出错误中显示的var_dump输出来看,$result和$user_记录似乎都是数组。因此,必须使用数组索引来访问属性。请尝试$result[0]。user_records[0]。fname等。请在模型中使用行数组
,或者使用用户_records[0]
@devsiodera感谢您的时间和帮助。你已经解决了我的问题。非常感谢你的帮助。