Php CodeIgniter:从数据库获取的数据数组在视图中填充输入文本

Php CodeIgniter:从数据库获取的数据数组在视图中填充输入文本,php,codeigniter,Php,Codeigniter,此打印返回($query->result());将是: 数组([0]=>stdClass对象([guest\u name]=>Test name[guest\u gender]=>Male[guest\u nic\u pp\u dl]=>123456789)) 我需要的是将这些值分别传递到视图中的输入文本框、单选按钮和下拉列表中 例如,我需要在输入中输入“guest\u name”,在视图中选择“guest\u gender”值,在下拉列表中选择与“guest\u nic\u pp\u dl”对

此打印返回($query->result());将是:

数组([0]=>stdClass对象([guest\u name]=>Test name[guest\u gender]=>Male[guest\u nic\u pp\u dl]=>123456789))

我需要的是将这些值分别传递到视图中的输入文本框、单选按钮和下拉列表中

例如,我需要在输入中输入“guest\u name”,在视图中选择“guest\u gender”值,在下拉列表中选择与“guest\u nic\u pp\u dl”对应的下拉列表值(HTML选择)

控制器:

function get_customer_details() {
    $guest_name = $this->input->post('guest_name');
    $this->banquet_model->talk_to_new_guest_table($guest_name);
    $this->load->view('/main/banquet_view');
}
function talk_to_new_guest_table($guest_name) {
    $query = $this->db->query(" SELECT guest_name, guest_gender, guest_nic_pp_dl
                                FROM new_guest 
                                WHERE guest_name LIKE '$guest_name%'
                                LIMIT 1 ");
    if($query->num_rows()>0) {
        return $query->result();
    }
    else {
        return 0;
    }
}
<div class="control-group">   
<label for="guest_name" class="control-label"><i class="icon-user"></i> Name: </label>
    <div class="controls">
        <div class="input-append">
        <input type="text" id="appendedInputButtons" class="span2" name="guest_name" value="<?php echo set_value('guest_name'); ?>">
        <input class="btn" type="submit" name="searchGuest" value="Search">
    </div>
<?php echo form_error('guest_name'); ?>
</div>
型号:

function get_customer_details() {
    $guest_name = $this->input->post('guest_name');
    $this->banquet_model->talk_to_new_guest_table($guest_name);
    $this->load->view('/main/banquet_view');
}
function talk_to_new_guest_table($guest_name) {
    $query = $this->db->query(" SELECT guest_name, guest_gender, guest_nic_pp_dl
                                FROM new_guest 
                                WHERE guest_name LIKE '$guest_name%'
                                LIMIT 1 ");
    if($query->num_rows()>0) {
        return $query->result();
    }
    else {
        return 0;
    }
}
<div class="control-group">   
<label for="guest_name" class="control-label"><i class="icon-user"></i> Name: </label>
    <div class="controls">
        <div class="input-append">
        <input type="text" id="appendedInputButtons" class="span2" name="guest_name" value="<?php echo set_value('guest_name'); ?>">
        <input class="btn" type="submit" name="searchGuest" value="Search">
    </div>
<?php echo form_error('guest_name'); ?>
</div>
查看:

function get_customer_details() {
    $guest_name = $this->input->post('guest_name');
    $this->banquet_model->talk_to_new_guest_table($guest_name);
    $this->load->view('/main/banquet_view');
}
function talk_to_new_guest_table($guest_name) {
    $query = $this->db->query(" SELECT guest_name, guest_gender, guest_nic_pp_dl
                                FROM new_guest 
                                WHERE guest_name LIKE '$guest_name%'
                                LIMIT 1 ");
    if($query->num_rows()>0) {
        return $query->result();
    }
    else {
        return 0;
    }
}
<div class="control-group">   
<label for="guest_name" class="control-label"><i class="icon-user"></i> Name: </label>
    <div class="controls">
        <div class="input-append">
        <input type="text" id="appendedInputButtons" class="span2" name="guest_name" value="<?php echo set_value('guest_name'); ?>">
        <input class="btn" type="submit" name="searchGuest" value="Search">
    </div>
<?php echo form_error('guest_name'); ?>
</div>

姓名:

尝试以下几行:

控制器:

function get_customer_details() {
    $guest_name = $this->input->post('guest_name');
    $data = $this->banquet_model->talk_to_new_guest_table($guest_name);
    if ($data != 0) {
        $this->load->view('/main/banquet_view', $data);
    }
}
型号:

function talk_to_new_guest_table($guest_name) {
    $query = $this->db->query(" SELECT guest_name, guest_gender, guest_nic_pp_dl
                                FROM new_guest 
                                WHERE guest_name LIKE '$guest_name%'
                                LIMIT 1 ");
    if($query->num_rows()>0) {
        return $query->result();
    }
    else {
        return 0;
    }
}
视图:


姓名:

尝试以下几行:

控制器:

function get_customer_details() {
    $guest_name = $this->input->post('guest_name');
    $data = $this->banquet_model->talk_to_new_guest_table($guest_name);
    if ($data != 0) {
        $this->load->view('/main/banquet_view', $data);
    }
}
型号:

function talk_to_new_guest_table($guest_name) {
    $query = $this->db->query(" SELECT guest_name, guest_gender, guest_nic_pp_dl
                                FROM new_guest 
                                WHERE guest_name LIKE '$guest_name%'
                                LIMIT 1 ");
    if($query->num_rows()>0) {
        return $query->result();
    }
    else {
        return 0;
    }
}
视图:


姓名:
做一些改变

控制器:

$guest=$this->banquet_model->talk_to_new_guest_table($guest_name);
 //creating data array from returned result
 $data['guest_name']=$guest->guest_name;
 $data['guest_gender']=$guest->guest_gender;
 $data['guest_nic_pp_dl']=$guest->guest_nic_pp_dl;
 //loading view with data
 $this->load->view('/main/banquet_view',$data);
更重要的是,所有这些数据数组元素都将在查看页面上作为变量提供,如

$data['guest_gender'] as $guest_gender
做一些改变

控制器:

$guest=$this->banquet_model->talk_to_new_guest_table($guest_name);
 //creating data array from returned result
 $data['guest_name']=$guest->guest_name;
 $data['guest_gender']=$guest->guest_gender;
 $data['guest_nic_pp_dl']=$guest->guest_nic_pp_dl;
 //loading view with data
 $this->load->view('/main/banquet_view',$data);
更重要的是,所有这些数据数组元素都将在查看页面上作为变量提供,如

$data['guest_gender'] as $guest_gender

Rajeev Ranjan和Prasanth的答案是可以的,但是在
return$query->result()行上
您可以执行此操作
返回$query->row()原因是,result()返回一个需要迭代的对象数组,而row()对象返回一个可以引用的对象,而无需使用循环进行迭代。我希望这会有所帮助

Rajeev Ranjan和Prasanth的回答是可以的,但是在
return$query->result()行上
您可以执行此操作
返回$query->row()原因是,result()返回一个需要迭代的对象数组,而row()对象返回一个可以引用的对象,而无需使用循环进行迭代。我希望这会有帮助

您将结果返回到哪里?我还没有。我试图在视野中呼应,但没有成功。我需要填充简单的文本框,它们没有显示在上面的代码中。例如,你在哪里返回结果?我还没有。我试图在视野中呼应,但没有成功。我需要填充简单的文本框,它们没有显示在上面的代码中。比如说,哦,等等。。。现在它返回3“尝试获取非对象的属性”messages@saucecord在哪里?您是否像这样使用@sauceord what返回3,并且您得到的是“尝试获取非对象的属性”…一旦我提交,它将返回到index();(…我预期的)并给出了错误。@Sauceord无法帮助处理此信息。可能结果没有返回任何内容。哦,等等。。。现在它返回3“尝试获取非对象的属性”messages@saucecord在哪里?您是否像这样使用@sauceord what返回3,并且您得到的是“尝试获取非对象的属性”…一旦我提交,它将返回到index();(…我预期的)并给出错误。@Sauceord无法帮助处理此信息。可能结果没有返回任何内容。