繁体   English   中英

如何传递数据库数据以查看Codeigniter中的输入

[英]How to pass database data to view input in Codeigniter

我试图使带有输入复选框的复选框的编辑按钮

截图: http//gyazo.com/381e44b71e7b62d257bff0a0361b5d61

我已经完成了插入功能及其工作。

在表中我有数据库喜欢

 id  property_id  property_type_id     alt_txt  
------  -----------  ----------------  ------------
     1            1                 1        25
     2            2                 1        30
     4            7                 1        50
    49            6                 1        60

与复选框相关的property_type_id和与输入相关的alt_txt

单击编辑时如何将数据传递给他们

我试图使模型功能像

function get_by_id($id){
            $this->db->where('id', $id);
            return $this->db->get($this->_table_name);
    }

在控制器中,我称它为

 $this->data['type'] = $this->type_m->get_by_id($id);

在var_dump中

object(CI_DB_mysql_result)#232 (8) {
  ["conn_id"]=>
  resource(45) of type (mysql link)
  ["result_id"]=>
  resource(87) of type (mysql result)
  ["result_array"]=>
  array(0) {
  }
  ["result_object"]=>
  array(0) {
  }
  ["custom_result_object"]=>
  array(0) {
  }
  ["current_row"]=>
  int(0)
  ["num_rows"]=>
  int(0)
  ["row_data"]=>
  NULL
}

请帮助我进行此编辑功能。

编辑:

这是我的视图代码的一部分:

    <fieldset>
                    <!--        Form Name -->                
                    <legend>Choose property type</legend>

<!--                 Multiple Checkboxes (inline) -->
                <div class="form-group">
                  <div class="col-md-4">
                    <label class="checkbox-inline" for="checkboxes-0">
                    <?php echo form_checkbox('data[1][property_type_id]', '22', set_value('data[1][property_type_id]', $type->property_type_id), 'id="checkboxes-0"')?>
                      PentHause
                    </label>
                      <br>
<!--                 Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                <?php  echo form_input('data[1][alt_txt]', set_value('data[1][alt_txt]',$type->alt_txt), 'class="form-control" id="cena" placeholder="Enter Price"')?>

                  </div>
                </div>

                    <label class="checkbox-inline" for="checkboxes-1">
                <?php echo form_checkbox('data[2][property_type_id]', '21', set_value('data[2][property_type_id]', $type->property_type_id), 'id="checkboxes-1"')?>
                      Garage
                    </label>
                <br>
<!--                                         Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                <?php echo form_input('data[2][alt_txt]', set_value('data[2][alt_txt]', $type->alt_txt), 'class="form-control" id="cena" placeholder="Enter Price"')?>
                  </div>
                </div>

如果只希望一行在模型中使用get_where()方法,则可能会更容易:

$item = $this->db->get_where($this->_table_name,array("id"=>$id),1,0);

return ($item->num_rows() == 1) ? $item->row() : false;

这样,您将使用get_where()的limit和offset参数选择1行,检查结果是否为单行并返回该行对象,否则返回false以使调用失败。

对于那些情况相同的人,我已经做到了,并且不宜分享:

型号功能:

    public function get_by_id($id){
        $item = $this->db->get_where($this->_table_name,array("property_id"=>$id));
        return $item->result_array();
}

在控制器中,我打电话说

            $type_array = $this->type_m->get_by_id($id);

  foreach($type_array as $estate_obj){
        $type = array();
        $type['id'] = $estate_obj['id'];
        $type['property_id'] = $estate_obj['property_id'];
        $type['property_type_id'] = $estate_obj['property_type_id'];
        $type['alt_txt'] = $estate_obj['alt_txt']; 
        //var_dump($type);
        $this->data['type'][$type['property_type_id']] = $type;
  }

这就是我如何做到的:

       <fieldset>
                    <!--        Form Name -->                
                    <legend>Изберете типове за имота</legend>

<!--                 Multiple Checkboxes (inline) -->
                <div class="form-group">
                  <div class="col-md-4">
                    <label class="checkbox-inline" for="checkboxes-0">
                    <?php echo form_checkbox('data[1][property_type_id]', '22', set_value('data[1][property_type_id]',$type[22]['property_type_id']), 'id="checkboxes-0"')?>
                      Пентхаус
                    </label>
                      <br>
            <!--    Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                    <?php echo form_input('data[1][alt_txt]', set_value('data[1][alt_txt]', isset($type[22]['alt_txt'])?$type[22]['alt_txt']:''), 'class="form-control" id="cena" placeholder="Въведи цена"')?>
                  </div>
                </div>

                    <label class="checkbox-inline" for="checkboxes-1">
                <?php echo form_checkbox('data[2][property_type_id]', '21', set_value('data[2][property_type_id]', $type[21]['property_type_id']), 'id="checkboxes-1"')?>
                      Гараж/Паркомясто
                    </label>
                <br>
            <!-- Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                    <?php echo form_input('data[2][alt_txt]', set_value('data[1][alt_txt]', isset($type[21]['alt_txt'])?$type[21]['alt_txt']:''), 'class="form-control" id="cena" placeholder="Въведи цена"')?>
                  </div>
                </div>
                    <label class="checkbox-inline" for="checkboxes-2">
                    <?php echo form_checkbox('data[3][property_type_id]', '20', set_value('data[3][property_type_id]',$type[20]['property_type_id']), 'id="checkboxes-2"')?>
                     Бизнес
                    </label>
                    <br>
                         <!--Text input-->
                <div class="form-group">
                  <div class="col-md-8">
                    <?php echo form_input('data[3][alt_txt]', set_value('data[3][alt_txt]', isset($type[20]['alt_txt'])?$type[20]['alt_txt']:''), 'class="form-control" id="cena" placeholder="Въведи цена"')?>

                 </div>
                </div>

问题就解决了! 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM