0

この print_r($query->result()); の戻り値。だろう:

配列 ( [0] => stdClass オブジェクト ( [guest_name] => テスト名 [guest_gender] => 男性 [guest_nic_pp_dl] => 123456789 ) )

必要なのは、これらの値をビューの入力テキスト ボックス、ラジオ ボタン、およびドロップダウンにそれぞれ渡すことです。

たとえば、「guest_name」を入力に、「guest_gender」値をビューで選択し、「guest_nic_pp_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>

4

3 に答える 3

2

いくつかの変更を加える

コントローラー:

$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
于 2013-07-12T04:42:30.027 に答える
1

Rajeev Ranjan と Prasanth からの回答はreturn $query->result();問題ありませんが、これを行うことができる行return $query->row();では、result() は反復する必要があるオブジェクトの配列を返し、row() オブジェクトは単一のオブジェクトを返しますが、これはなくても参照できます。ループで繰り返します。これが役立つことを願っています

于 2013-07-12T11:30:22.150 に答える
1

次の行で何かを試してください。

コントローラ:

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

意見:

<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 $guest_name; ?>">
        <input class="btn" type="submit" name="searchGuest" value="Search">
    </div>
<?php echo form_error('guest_name'); ?>
</div>
于 2013-07-12T04:41:56.487 に答える